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操作xml文件详细介绍
Jun 09 Python
设计模式中的原型模式在Python程序中的应用示例
Mar 02 Python
Python简单实现enum功能的方法
Apr 25 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
Nov 06 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 Python
python实现处理mysql结果输出方式
Apr 09 Python
Python logging日志模块 配置文件方式
Jul 12 Python
Python中可变和不可变对象的深入讲解
Aug 02 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
php获取域名的google收录示例
2014/03/24 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
超级强大的表单验证
2006/06/26 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
利用python画一颗心的方法示例
2017/01/31 Python
Django的信号机制详解
2017/05/05 Python
python实现最大优先队列
2019/08/29 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
夜大毕业生自我评价分享
2013/11/10 职场文书
项目验收申请报告
2015/05/15 职场文书
格林童话读书笔记
2015/06/30 职场文书