前言:

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

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

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

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

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

其实色块看起来就像该坐标点在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 pltx = [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:如何绘制带有色块的折线图相关推荐

  1. python使用matplotlib2D绘图库的折线图绘制小案例(方便matplotlib的学习理解)——随机数做幸运值,绘制一周的幸运趋势

    python使用matplotlib2D绘图库的折线图绘制小案例(方便matplotlib的学习理解)--随机数做幸运值,绘制一周的幸运趋势 QQ:3020889729 小蔡 小案例内容简介 实例 第 ...

  2. 在python中使用matplotlib画简单折线图

    live long and prosper 在python中安装matplotlib实现数据可视化(简单折线图) 1.安装matplotlib 在Windows平台上,试用win+R组合键打开命令行窗 ...

  3. 7.绘制统计图形——堆积折线图、间断条形图和阶梯图

    文章目录 1.用函数stackplot()绘制堆积折线图 2.用函数broken_brah()绘制间断条形图 3.用函数step()绘制阶梯图 1.用函数stackplot()绘制堆积折线图 堆积折线 ...

  4. Python数据分析(三)matplotlib折线图应用实例——自定义图形风格

    往期推荐: Python数据分析(一)matplotlib基础绘图和调整x轴刻度 Python数据分析(二)matplotlib折线图应用实例--绘制10点到12点的气温 Python数据分析(四)m ...

  5. python使用matplotlib可视化堆积的折线图、使用stackplot函数可视化堆积的折线图、不同数据在垂直方向堆叠

    python使用matplotlib可视化堆积的折线图.使用stackplot函数可视化堆积的折线图.不同数据在垂直方向堆叠 目录

  6. java绘制三维曲线_使用JFreeChart绘制2D和3D折线图 | 学步园

    这是一个Web Project 首先是web.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem ...

  7. 使用JFreeChart绘制2D和3D折线图

    完整版见https://jadyer.github.io/ 这是一个Web Project 首先是web.xml <?xml version="1.0" encoding=& ...

  8. jfreechart绘制带刻度尺的折线图

    jfreechart绘制带刻度尺的折线图 概述 效果图 实现 概述 (一)在折线图单机鼠标之后出现竖线,同步显示该竖线和折线交点的纵坐标值和横坐标值 效果图 实现 TimeSeriesChart.ja ...

  9. python绘制双Y轴折线图以及单Y轴双变量柱状图

    近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手.今天师姐派了一个小活,具体要求是: 给一些训练模型的迭代次数,训 ...

最新文章

  1. C 语言 和 C++语言的对比学习   二 数据类型
  2. python英语-我们用程序整理出了一份Python英语高频词汇表,拿走不谢!
  3. 谈谈ogre中级教程中例子与appwizard冲突
  4. oracle登录错误:ORA-28000: the account is locked 解决方法
  5. python的文件式如何操作_Python文件操作
  6. 《高性能JavaScript》第八章 编程实践
  7. JS不同类型之间运算与转换
  8. ecshop网站后台功能之系统管理
  9. python谷歌翻译 频率限制_利用Google进行无长度限制的文本翻译(无需API,无需Money)...
  10. vue.js根据数据循环生成表格_Vue Elenent实现表格相同数据列合并
  11. php控制wifi上网时长,腾达路由器家长控制功能怎么控制孩子上网时间
  12. 美团买菜助手来了,自动点击,助你买菜
  13. 漫威系列-《复联4》
  14. 瑞芯微RK3328硬件设计指南
  15. 螃蟹保存方法保存时间_活螃蟹如何保存才能活得时间久(这几个方法简单实用)...
  16. 在我的世界中,B站UP主搭建世界首个纯红石神经网络,图灵奖得主Yann LeCun转赞...
  17. 2021年PHP最新面试题(一)
  18. 鱼眼深度估计!环视近场感知系列之几何预测
  19. 计算机课程考试质量分析,研究生课程成绩定量评价与质量分析的计算机实现
  20. 数据治理项目之数据管理模板

热门文章

  1. 李沐-->卷积神经网络
  2. linux 挂载nfts U盘或着移动硬盘
  3. 图纸管理 企业图纸无纸化管理方法
  4. HTTPS 与 SSL 证书概要
  5. Js——案例实现图片数字时钟
  6. 阿里云发布Apsara SA系列混合云存储阵列
  7. ffmpeg解码之使用C语言打印音视频信息
  8. Coding and Paper Letter(五十八)
  9. 基于 SpringBoot + MyBatis 前后端分离实现的在线办公系统
  10. Advanced Programming: Unity Game Dev Course(4)-Closing the Loop