Python 官方文档:入门教程 => 点击学习
目录1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4
复习回顾:
经过前面对 matplotlib 模块从底层架构、基本绘制步骤等学习,我们已经学习了折线图、柱状图的绘制方法。
matplotlib 模块基础:对matplotlib 模块常用方法进行学习
matplotlib 模块底层原理:学习matplotlib 模块脚本层、美工层及后端层
matplotlib 绘制折线图:总结折线图相关属性和方法
matplotlib 绘制柱状图:总结柱状图相关属性和方法
在分析数据的时候,我们会根据数据的特点来选择对应图表来展示,需要表示质量这一概念,需要用直方图。
本次案例我们来分析公司员工的身高分布情况
案例数据准备,使用numpy随机生成200个升高数据
import numpy as np
x_value = np.random.randint(140,180,200)
绘制直方图:
import matplotlib.pyplot as plt
plt.hist(x_value,bins=10)
plt.title("data analyze")
plt.xlabel("height")
plt.ylabel("rate")
plt.show()
颜色选择值:
属性值 | 说明 |
---|---|
'bar' | 柱状形数据并排,默认值 |
'barstacked' | 柱状形数据重叠并排 |
'step' | 柱状形颜色不填充 |
'stepfilled' | 填充的线性 |
我们对第一节直方图添加柱状形不填充,边框颜色为红色
plt.hist(x_value,bins=10,edgecolor="r",histtype="step")
边框设置为红色,透明度为0.5
plt.hist(x_value,bins=10,edgecolor="r",histtype="bar",alpha=0.5)
在直方图中,我们也可以加一个折线图,辅助我们查看数据变化情况
fig,ax = plt.subplots()
n,bins_num,pat = ax.hist(x_value,bins=10,alpha=0.75)
ax.plot(bins_num[:10],n,marker = 'o',color="yellowgreen",linestyle="--")
我们有时候会对吧同样数据范围情况下,对比两组不同对象群体收集的数据差异
准备两组数据:
import numpy as np
x_value = np.random.randint(140,180,200)
x2_value = np.random.randint(140,180,200)
plt.hist([x_value,x2_value],bins=10,stacked=True)
我们上述绘制的直方图都是等距的,我们可以指定一组数据传入bins属性
bin_num = [140,155,160,170,175,180]
plt.hist([x_value,x2_value],bins=bin_num,alpha=0.75,stacked=True)
我们在使用直方图查查看数据的频率时,有时候会查看多种类型数据出现的频率。
这时候我们可以以列表的形式传入多种数据给hist()方法的x数据
x_value = [np.random.randint(140,180,i) for i in [100,200,300]]
plt.hist(x_value,bins=10,edgecolor="r",histtype="bar",alpha=0.5,label=["A公司","B公司","C公司"])
总结:
我们对matplotlib模块中详细学习绘制各种直方图标相关属性和方法。在需要查看数据分布频率时,我们可以使用hist()方法绘制直方图,同时也可以添加折线来辅助查看
到此这篇关于python利用 matplotlib 绘制直方图的文章就介绍到这了,更多相关Python matplotlib 模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Python利用matplotlib绘制直方图
本文链接: https://www.lsjlt.com/news/158880.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0