堆积图--MatplotLib
绘制堆积柱形图
柱形图的基础绘制参见Bar函数柱形图绘制;Barh条形图绘制
堆积图是一种组合式的图形,是将若干图形堆叠起来的统计图形
使用参数bottombottombottom可以使柱形图的柱子向上平移相应的高度。同理对于堆积柱形图,上面的图形只要向上平移第一个图形每根柱子的高度即可,即参数bottombottombottom=第一个图形的柱高数据
# 导入第三方数据库
import matplotlib as mpl
import matplotlib.pyplot as plt# 字体与负号参数配置
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False# 产生数据
x = [1, 2, 3, 4, 5]
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5]# 绘制图形
plt.bar(x,y,color='cyan',tick_label=['A', 'B', 'C', 'D', 'E'],label='1班',)
plt.bar(x,y1,color='blue',bottom=y,label='2班')# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()# 展示图形
plt.show()
结果展示:
堆积条形图
与堆积柱形图绘制同理,对于堆积条形图,右边的图形只要向右平移第一个图形每根条块儿的宽度即可,即参数leftleftleft=第一个图形条块儿的宽度数据
# 导入第三方数据库
import matplotlib as mpl
import matplotlib.pyplot as plt# 字体与负号参数配置
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False# 产生数据
x = [1, 2, 3, 4, 5]
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5]# 绘制图形
plt.barh(x, y, color='cyan', tick_label=['A', 'B', 'C', 'D', 'E'], label='1班', )
plt.barh(x, y1, color='blue', left=y, label='2班')# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()# 展示图形
plt.show()
结果展示:
多数据并列柱形图
# 导入第三方数据库
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# 产生数据
x = np.arange(5)
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5]bar_width=0.35
# 绘制图形
plt.bar(x, y, width=0.35, color='cyan',tick_label=['A', 'B', 'C', 'D', 'E'], label='1班', )
plt.bar(x+bar_width, y1, width=0.35, color='blue', label='2班')# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()# 展示图形
plt.show()
2班横轴坐标位置为1班横轴坐标位置+柱子宽度,这是2班每根柱子的中心位置;x轴刻度显示在1班柱体中间位置
想要x轴刻度标签放在两个柱子的中间位置,使用参数xtick()xtick()xtick()设置x轴标签位置
# 导入第三方数据库
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# 产生数据
x = np.arange(5)
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5]bar_width=0.35
tick_labels=['A', 'B', 'C', 'D', 'E']
# 绘制图形
plt.bar(x, y, width=0.35, color='cyan',tick_label=tick_labels, label='1班', )
plt.bar(x+bar_width, y1, width=0.35, color='blue', label='2班')# 设置刻度标签位置
plt.xticks(x+bar_width/2,tick_labels)# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()# 展示图形
plt.show()
图形展示
绘制平行条形图
# 导入第三方数据库
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# 产生数据
x = np.arange(5)
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5]bar_width = 0.35
tick_labels = ['A', 'B', 'C', 'D', 'E']
# 绘制图形
plt.barh(x, y, height=0.35, color='cyan', tick_label=tick_labels, label='1班', hatch='/')
plt.barh(x + bar_width, y1, height=0.35, color='blue', label='2班', hatch='//')# 设置y轴刻度标签位置
plt.yticks(x+bar_width/2, tick_labels)
# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()
# 展示图形
plt.show()
图形展示:
图中可以看出两个条形图的填充样式虽然都是′/′'/'′/′,但是填充密度不同。参数hatchhatchhatch除了可以指定填充样式之外,还可以调整填充密度。符号字符串的符号数量越多,几何图形的密集程度越高。例如:参数hatchhatchhatch可以取值′/′'/'′/′,则hatch=′///′hatch='///'hatch=′///′,hatch=′//′hatch='//'hatch=′//′,hatch=′/′hatch='/'hatch=′/′填充密度依次降低。
绘制堆积直方图
绘制堆积直方图只需要向函数hist中添加关键字参数stacked=Truestacked=Truestacked=True
# 导入第三方数据库
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# 产生数据
scoreT1 = np.random.randint(0, 100, 100)
scoreT2 = np.random.randint(0, 100, 100)
bins = range(0, 101, 10)
# 绘制图形
plt.hist((scoreT1,scoreT2), bins=bins,stacked=True,edgecolor='k', histtype='bar', label=('1班','2班'))# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()
# 展示图形
plt.show()
图形展示:
改变参数histtypehisttypehisttype,设置直方图类型
# 导入第三方数据库
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# 产生数据
scoreT1 = np.random.randint(0, 100, 100)
scoreT2 = np.random.randint(0, 100, 100)
bins = range(0, 101, 10)
# 绘制图形
plt.hist((scoreT1,scoreT2), bins=bins,stacked=True,edgecolor='k', histtype='stepfilled', label=('1班','2班'))# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()
# 展示图形
plt.show()
当参数stacked=Falsestacked=Falsestacked=False(默认值为False),可以绘制并排放置的直方图
# 导入第三方数据库
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# 产生数据
scoreT1 = np.random.randint(0, 100, 100)
scoreT2 = np.random.randint(0, 100, 100)
bins = range(0, 101, 10)
# 绘制图形
plt.hist((scoreT1,scoreT2), bins=bins,stacked=False,edgecolor='k', histtype='bar', label=('1班','2班'))# 设置x,y轴标签
plt.xlabel('测试难度')
plt.ylabel('试卷份数')# 显示图例
plt.legend()
# 展示图形
plt.show()
堆积图--MatplotLib相关推荐
- Python使用matplotlib绘制堆积图
堆积图,在计算机视觉的论文中是相当常见而表现力极强的一种图示方法,其表现为: 在固定高度的矩形中,根据某一些数值意义相同的不同变量根据其数值大小占据矩形中连续的高度: 其与饼图相相似,都可以很清晰地表 ...
- 从零开始学matplotlib画图(三): 堆积图
堆积图常用于综合展示不同分类的指标趋势以及它们的总和的趋势.比如说,我们想看一下过去二十年来中国人口总量的变化趋势,同时,我们又想看一下男.女性人口各自的变化趋势,甚至我们还想看一下它们各自占比的变化 ...
- python条形堆积图_python-matplotlib绘制堆积的条形图
原博文 2019-08-23 09:36 − import matplotlib as mplimport matplotlib.pyplot as pltx=["a"," ...
- label mpchart 饼图_Origin系列:绘制柱状堆积图
原创不易,感谢分享,欢迎转发,请点在看 堆积柱状图十分美观,不仅能够展示数据占比,更能表现其变化趋势,是科研必备技能 今天分享粉丝提出类似下列图形用Origin绘制多列柱状堆积图.希望对大家有所帮助 ...
- 【Excel】绘图案例_常见复合图:簇状图+堆积图+折线图
[Excel]绘图案例_常见复合图:簇状图+堆积图+折线图 前言 最近有朋友让我帮忙用excel画图,老实说我很讨厌用excel画图,点来点去,复杂一些还不能复用,非常繁琐.当然,入门也很简单.需求时 ...
- 一张RSCU堆积图的改动
根据B站小明的数据分析笔记本的rscu堆积图代码改的.侵删 以下为原视频链接 R语言ggplot2画堆积柱形图展示密码子偏向性的RSCU值_哔哩哔哩_bilibili 以下为改动之后的图片效果.颜色和 ...
- Tableau数据分析-Chapter01条形图、堆积图、直方图
本专栏将使用tableau来进行数据分析,Chapter01使用Tableau-条形图.堆积图.直方图,记录所得所学,作者:北山啦 原文链接 来自百度 Tableau Software致力于帮助人们查 ...
- 使用 D3.js 创建柱状堆积图
柱状堆积图 项目地址 使用 D3.js 创建的图表: 使用 D3.js 创建根据值域颜色渐变的地图 D3.js 中动态计算 x 轴 y 轴的宽度以及偏移量 在 Ember.js 项目中由浅入深使用 D ...
- Tableau(1):绘制条形图、堆积图、直方图
绘制条形图.堆积图.直方图 一.条形图 1.1 各地区酒店数量条形图 1.2 各地区酒店均价条形图 1.3 价格等级堆积柱形图 二.酒店评分直方图 参考资料 提示:只是记录自己跟着视频学习的成果.其中 ...
- Tableau数据分析笔记-Chapter01条形图、堆积图、直方图
Tableau数据分析-Chapter01条形图.堆积图.直方图 Tableau Software致力于帮助人们查看并理解数据.Tableau 帮助任何人快速分析.可视化并分享信息.超过 42,000 ...
最新文章
- 倒排列表压缩算法汇总——分区Elias-Fano编码貌似是最牛叉的啊!
- C语言经典算法五个人问岁数!——————【Badboy】
- Linux Gedit 打开txt文件乱码
- 怎么将SAP数据传输到其他系统(Transferring Data from SAP to Other Systems)
- centos7 禁止ip访问_centos7.6版本限制某个IP访问指定端口
- antd From 中 Form.Item里含有自己封装的组件,获取不到值的解决方法
- oracle12cr2发布时间,Oracle 12cR2 发布在即
- 项目: NFS服务的搭建
- 华为方舟编译器正式开源,采用自主平台托管
- java 页面 pdf 下载_java下载PDF文件
- 下载 SharePoint Server 2016
- vue-cropper裁剪个人图像
- redis 源码全解析
- 南京商品房信息在哪里查询(查备案价)
- 基于python的第三方库Pyautogui实现程序自动控制鼠标与键盘
- ArcEngine添加注记
- chrome无法上网
- 洛谷 P4233 射命丸文的笔记 ntt
- 大数据基础之Hadoop(三)—— MapReduce
- 李开复自传披露离职原因