赵走x博客
网站访问量:151510
首页
书籍
软件
工具
古诗词
搜索
登录
34、延伸阅读:箱体;箱须、 离群值的含义和计算方法
33、箱线图
32、饼图
30、堆积析线图、 间断条形图和阶梯图
29、参数探索:设置柱体的填充样式
28、绘制统计图形:分块图
27、绘制统计图形:堆积图
26、绘制统计图形:条形图
25、绘制统计图形:柱状图
24、函数errorbar():用于绘制误差棒图
23、函数boxplot():用于绘制箱线图
22、函数stem():用于绘制棉棒图
21、函数 scatter():用于绘制气泡图
20、函数polar():用于绘制极线图
19、函数pie():用于绘制饼图
18、函数hist():用于绘制直方图
17、函数barh():用于绘制条形图
16、函数bar():用于绘制柱状图
15、使用统计函数绘制简单图形
14、函数组合应用
13、函数legend()一一标示不同图形的文本标签图例
12、函数title():添加图形内容的标题
11、函数text()一一添加图形内容细节的无指向型注释文本
10、函数annotate()一一添加图形内容细节的指向型注释文本
9、 函数axvspan()一一绘制垂直于 x 轴的参考区域
8、函数axhline()一一绘制平行于 x 轴的水平参考线
7、函数 grid():绘制刻度线
6、函数xlabel():设置 x 轴的标签文本
5、函数xlim():设置 x 轴的数值显示范围
4、函数scatter():寻找变量之间的关系
3、函数plot():展现变量的趋势变化
2、使用函数绘制matplotlib的图表组成元素
1、图表欣赏
30、堆积析线图、 间断条形图和阶梯图
资源编号:76044
人工智能
Python数据可视化之matplotlib实践
热度:105
我们接下来介绍一些在折线图、柱状图和条形图的绘制原理基础上衍生出来的统计图形, 它们分别是堆积折线图、 间断条形图和阶梯图。
我们接下来介绍一些在折线图、柱状图和条形图的绘制原理基础上衍生出来的统计图形, 它们分别是堆积折线图、 间断条形图和阶梯图。 # 1、用函数stackplot()绘制堆积折线图 堆积折线图是通过绘制不同数据集的折线图而生成的。堆积折线图是按照垂直方向上彼此堆叠且又不相互覆盖的排列顺序,绘制若干条折线图而形成的组合图形。 ### 代码实现 ``` import matplotlib.pyplot as plt import numpy as np x = np.arange(1, 6, 1) y = [0, 4, 3, 5, 6] y1 = [1, 3, 4, 2, 7] y2 = [3, 4, 1, 6, 5] labels = ['BluePlanet', 'BrownPlanet', 'GreenPlanet'] colors = ['#8da0cb', '#fc8d62', '#66c2a5'] plt.stackplot(x, y, y1, y2, labels=labels, colors=colors) plt.legend(loc='upper left') plt.show() ``` ### 运行结果  ### 代码精讲 通过 plt.stackplot(x, y, y1, y2, labels=labels, colors=colors)语句,我们绘制了堆积折线图。堆积折线图的本质就是将若干条折线放在同一个坐标轴上,以每条折线下部和下方折线作为填充边界,用一种颜色填充代表此条折线的数值区域, 每个填充区域相互堆积但不会相互覆盖,每一个颜色段层代表一条折线所属的数据区域,从而形成如 “地表断层” 的可视化效果。 # 2、用函数broken_barh ()绘制间断条形图 间断条形图是在条形图的基础上绘制而成的, 主要用来可视化定性数据的相同指标在时间维度 上的指标值的变化情况, 实现定性数据的相同指标的变化情况的有效直观比较。 ### 代码实现 ``` import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False plt.broken_barh([(30,100),(180,50),(260,70)],(20,8), facecolors='#1f78b4') plt.broken_barh([(60,90),(190,20),(230,30),(280,60)],(10,8), facecolors=('#7fc97f','#beaed4','#fdc086','#ffff99')) plt.xlim(0,360) plt.ylim(5,35) plt.xlabel('演出时间') plt.xticks(np.arange(0,361,60)) plt.yticks([15,25],['歌剧院A','歌剧院B']) plt.grid(ls='-',lw=1,color='gray') plt.title('不同地区的歌剧院的演出时间比较') plt.show() ``` ### 运行结果  ### 代码精讲 这里为了说明函数broken_barh()的使用方法,以语句 ``` plt.broken_barh([(60,90),(190,20),(230,30),(280,60)],(10,8), facecolors=('#7fc97f','#beaed4','#fdc086','#ffff99')) ``` 为例讲解函数的使用方法。 列表 ‘‘ [(60,90),(190,20),(230,30),(280,60)] ” 的元组表示从起点是x轴的数值为60的位置起, 沿x轴正方向移动90个单位。其他元组的含义类似。 参数 “(10,8) ” 表示从起点是y轴的数值为10的位置起, 沿y轴正方向移动8个单位, 这就是每个柱体的高度和垂直起始位置。 关键字参数facecolors表示每个柱体的填充颜色, 这里使用HEX模式的颜色表示方法。 通过使用间断条形图, 我们就可以清晰直观地观察和比较两家歌剧院演出时间的不同, 从而分析它们的演出时间的特点和规律。 # 3、用函数step()绘制阶梯图 阶梯图在可视化效果上正如图形的名字那样形象, 就如同山间的台阶时而上升时而下降, 从图 形本身而言, 很像折线图。 也用来反映数据的趋势变化或是周期规律的。阶梯图经常使用在时间序列数据的可视化任务中, 凸显时序数据的波动周期和规律。 ### 代码实现 ``` import matplotlib.pyplot as plt import numpy as np x=np.linspace(1,10,10) y=np.sin(x) plt.step(x,y,color='#8dd3c7',where='pre',lw=2) plt.xlim(0,11) plt.xticks(np.arange(1,11,1)) plt.ylim(-1.2,1.2) plt.show() ``` ### 运行结果  ### 代码精讲 通过语句 `plt.step(x,y,color='#8dd3c7',where='pre',lw=2)`就可以绘制出阶梯图, 其中参数的含义和用法与函数 plot()完全相同。针对函数step()而言, 这里需要介绍一下关键字参数 where的使用方法, 关键“字参数where默认的参数值是 pre,参数值 pre表示x轴上的每个数据点对应的y轴上的数值向左侧绘制水平线直到x轴上的此数据点的左侧相邻数据点为止,也就是说,x轴上的相邻数据点的取值是按照左开右闭区间进行数据点选取的。关键宇参数where除了可以取值pre,还可以取值 post ,参数值 post表示在x轴上的相邻数据点的取值是按照左闭右开区间进行数据点选取的,然后用对应的y轴上的数值向右侧绘制水平线直到x轴上的此数据点的右侧相邻数据点为止。为了方便读者对照学习, 我们将关键字参数where取值 。在其他代码语句不变的情况下运行,效果如图3.11所示。 