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程序
Apr 04 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
在Apache服务器上同时运行多个Django程序的方法
Jul 22 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
python xpath获取页面注释的方法
Jan 14 Python
Python+OpenCV图片局部区域像素值处理改进版详解
Jan 23 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
详解如何设置Python环境变量?
May 13 Python
利用pandas将非数值数据转换成数值的方式
Dec 18 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
python实现腾讯滑块验证码识别
Apr 27 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
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
PHP错误机制知识汇总
2016/03/24 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
select组合框option的捕捉实例代码
2008/09/30 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
python中对list去重的多种方法
2014/09/18 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
python cumsum函数的具体使用
2019/07/29 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
使用python实现名片管理系统
2020/06/18 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
python time.strptime格式化实例详解
2021/02/03 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
柯基袜:Corgi Socks
2017/01/26 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
大一学生的职业生涯规划书范文
2014/01/19 职场文书
民族团结先进个人材料
2014/02/05 职场文书
员工辞职信范文大全
2015/05/12 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
解析python中的jsonpath 提取器
2022/01/18 Python
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS