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中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
python批量获取html内body内容的实例
Jan 02 Python
Python二维码生成识别实例详解
Jul 16 Python
python匿名函数的使用方法解析
Oct 10 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
查看端口并杀进程python脚本代码
Dec 17 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
为什么说python适合写爬虫
Jun 11 Python
Python控制鼠标键盘代码实例
Dec 08 Python
用python获取txt文件中关键字的数量
Dec 24 Python
Python Pandas数据分析之iloc和loc的用法详解
Nov 11 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生成图片验证码功能示例
2017/01/12 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
javascript运动详解
2015/07/06 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
跟老齐学Python之复习if语句
2014/10/02 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
python抽取指定url页面的title方法
2018/05/11 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
餐饮投资计划书
2014/04/25 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
道歉短信大全
2015/05/12 职场文书
离职告别感言
2015/08/04 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
Pandas 数据编码的十种方法
2022/04/20 Python