Python何绘制带有背景色块的折线图


Posted in Python onApril 23, 2022

前言:

如果正在看文章的你,还不会绘制折线图,请前往本人的主页看如何使用matplotlib绘制折线图这篇文章,该文章会仔细而详尽的告诉你绘制折线图的方法。言归正传,给折线图加色块,算是折线图的附加内容。加一个函数就可以搞定。效果图如下所示:

Python何绘制带有背景色块的折线图

绘制带有色块的折线图的一般步骤:

第一步:绘制出基础的折线图:

        在绘制色块前,我们可以使用绘制折线图的一般操作,绘制出折线图做基础准备。

第二步:计算每个坐标点对应的上下界:

        其实色块看起来就像该坐标点在y轴方向上下平移所得的线条在x轴方向拼接而成。在绘制色块之前,我们需要计算出上下界。这个和获取图像点的坐标一样的道理。

# 算标准差
yTop = [y[i] + np.std(data[i]) for i in range(len(data))]
yBottom = [y[i] - np.std(data[i]) for i in range(len(data))]

这个是我写的获得上下界的程序。当然上下界看你自己,内容自定。不过得存在列表里,要求和获取坐标点一样。

第三步:绘制色块:

        绘制色块其实很简单,调用函数fill_between就可以。

plt.fill_between(x, yTop, yBottom ,color="lightgreen",label="Standard deviation")#填充色块

该函数第一个值对应的是点的x坐标,第二个值就是各点对应的上界,第三个值就是各点对应的下界。后面就是一些基础的属性的设置,自然不必多说。

代码示例:

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
data = [[1, 2, 3, 4, 5, 6],
        [2, 4, 6, 8, 10, 12],
        [1, 3, 5, 7, 9, 11],
        [1.1, 2.2, 3.3, 4.4, 5.5, 6.6],
        [3, 6, 9, 12, 15, 18],
        [4, 8, 12, 16, 20, 24],
        [5, 10, 15, 20, 25, 30],
        [1.5, 2.5, 3.5, 4.5, 5.5, 6.5],
        [1, 4, 7, 10, 13, 16],
        [2, 5, 8, 11, 14, 17]]
y = [np.mean(i) for i in data]


# 绘制图形
plt.plot(x, y, linewidth=1, color="orange", marker="o",label="Mean value")
# 算标准差
yTop = [y[i] + np.std(data[i]) for i in range(len(data))]
yBottom = [y[i] - np.std(data[i]) for i in range(len(data))]
plt.fill_between(x, yTop, yBottom ,color="lightgreen",label="Standard deviation")#填充色块
# 设置横纵坐标
plt.xticks([0, 2, 4, 6, 8, 10, 12])
plt.yticks([0, 5, 10, 15, 20, 25])
plt.legend(["Mean value","Standard deviation"],loc="upper left")#设置线条标识
plt.grid()  # 设置网格模式
#设置每个点上的数值
for i in range(10):
        plt.text(x[i], y[i], y[i], fontsize=12, color="black", style="italic", weight="light", verticalalignment='center',horizontalalignment='right', rotation=90)
plt.show()

Python何绘制带有背景色块的折线图


Tags in this post...

Python 相关文章推荐
python实现通过代理服务器访问远程url的方法
Apr 29 Python
浅谈python正则的常用方法 覆盖范围70%以上
Mar 14 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
python 怎样进行内存管理
Nov 10 Python
Python扫描端口的实现
Jan 25 Python
django如何自定义manage.py管理命令
Apr 27 Python
Python数组变形的几种实现方法
May 30 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 #Python
Python使用MapReduce进行简单的销售统计
python使用pycharm安装pyqt5以及相关配置
Python使用DFA算法过滤内容敏感词
python游戏开发之pygame实现接球小游戏
Apr 22 #Python
python游戏开发Pygame框架
Apr 22 #Python
python中的random模块和相关函数详解
Apr 22 #Python
You might like
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
让复选框只能选择一项的方法
2013/10/08 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
利用Python爬取可用的代理IP
2016/08/18 Python
python基本语法练习实例
2017/09/19 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
机械系大学毕业生推荐信
2013/11/27 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
2014年团支部工作总结
2014/11/17 职场文书
先进集体申报材料
2014/12/25 职场文书
孔庙导游词
2015/02/04 职场文书