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 相关文章推荐
TensorFlow 合并/连接数组的方法
Jul 27 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
django基于cors解决跨域请求问题详解
Aug 06 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
详解Python的三种拷贝方式
Feb 11 Python
python是怎么被发明的
Jun 15 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
解决python打开https出现certificate verify failed的问题
Sep 03 Python
python如何设置静态变量
Sep 07 Python
Python命令行参数argv和argparse该如何使用
Feb 08 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 25 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
可以支持多中格式的JS键盘
2007/05/02 Javascript
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
Python交换变量
2008/09/06 Python
Python 用户登录验证的小例子
2013/03/06 Python
浅析使用Python操作文件
2017/07/31 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
pytorch 常用线性函数详解
2020/01/15 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
会计职业生涯规划书
2014/01/13 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
面试自我评价范文
2014/09/17 职场文书
python析构函数用法及注意事项
2021/06/22 Python