前言:

如果正在看文章的你,还不会绘制折线图,请前往本人的主页看如何使用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#图解教程
  2. 第五章:数据库交换开发篇
  3. 删除vue打包大小限制_如何优化 Vue 祖传代码
  4. elemet UI 中表格数据的排序操作
  5. 行业发展的大势所趋 嵌入式机器视觉系统前景一片大好
  6. 815. Bus Routes
  7. adb 51 android.rules,使用51-android-rules解决ubuntu上不识别 android手机的问题
  8. FZU 2108 Mod problem
  9. python 学习笔记7(装饰器)
  10. MWC2010传递出什么信号?
  11. CSS3动画实现左右滚动效果
  12. linux编译一直失败,linux编译安装时常见错误解决办法
  13. python暑假培训班
  14. 微信开发 JS接口安全域名修改
  15. 给Ubuntu系统清理垃圾
  16. 计算机进行加法运算的原理,计算机系统原理(九) 二进制整数的加法运算和减法运算...
  17. 应对羊毛党的老手段不管用了,但有些公司依然有办法,他们是怎么做的?
  18. 华为手机安卓8.0以上的谷歌商店找不到的问题
  19. 多大密西沙加计算机科学与技术,多伦多大学第二大校区——密西沙加校区专业及双录取介绍...
  20. 北理工计算机贾云,徐畅_北京理工大学计算机学院

热门文章

  1. vsco显示服务器不行,vsco为什么不能登录
  2. cadence隐藏管脚序号_如何隐藏元件管脚
  3. 英诺森ProcessGo Plus UI自动化社区版重磅发布,开启超级自动化新征程
  4. 小学英语课文朗读APP开发笔记(一):创建Win7虚拟机
  5. 基于java web的大学生公寓管理系统的开发
  6. 基于simulink的同步发电机短路暂态分析的MATLAB仿真程序
  7. Opencv+Python学习记录7:图像加权和(内附详细代码)
  8. 【ubuntu】本地访问ubuntu服务器的jupyter文件,.ipynb误删除找回、恢复
  9. 游戏道具系统策划参考
  10. 安卓 元素渲染(类似v-for)