matplotlib 并列柱状图,Python用matplotlib画多幅图
python中最好的图表库叫做matplotlib,matplotlib。顾名思义,它提供了一整套类似于matlab的API,文档也相当完整。以下文章主要介绍Python如何用matplotlib绘制平行双直方图并标注值的相关信息。有需要的可以参考一下。
00-1010项目场景:代码:效果图:扩展函数及代码:补充:Python绘图实现同一节点多个直方图汇总。
目录
Python项目需要绘制两组数据的双直方图。下面是两个孩子一周七天吃糖粒数的演示,是matplotlib库实现的。
项目场景:
导入matplotlib
将matplotlib.pyplot作为plt导入
将numpy作为np导入
def直方图():
matplotlib.rc(font ,family=MicroSoft YaHei )
1=NP.array ([5,2,1,0,8,0,6]) #直方图第一组数据
2=NP.array ([9,5,1,2,9,2,0]) #直方图第二组数据
长度=len(列表1)
X=np.arange(长度)#横坐标范围
List=[星期一,星期二,星期三,星期四,星期五,星期六,星期日]
图表()
Total _ width,n=0.8,2 #直方图的总宽度,有几组数据。
Width=total_width/n #单个直方图的宽度
x1=x-宽度/第一组数据直方图横坐标的2 #起始位置
X2=x1宽度#第二组数据直方图横坐标的起始位置
Plt.title(你一周内每天吃的Yoho口香糖数量的直方图)#直方图title
# plt.xlabel(周)#横坐标标签可以不加在这里。
Plt.ylabel(吃溜溜球巨美(一个))#纵坐标标签
Plt。bar (x1,list1,width=width,label= 小s吃了多少甜食)
Plt.bar (x2,list2,width=width,label=小Y吃了多少糖果)
Plt。x tickets (x,列表日期)#用星期几替换横坐标x的值。
Plt.legend() #给出图例。
plt.show()
if __name__==__main__:
绘制直方图()
代码:
效果图:
扩展功能一
如果横坐标标签很长或者单词很多,就以一定的角度倾斜显示,如上面的代码行所示:
plt.xticks(x,列表日期)
它可以更改为:
Plt.x tickets (x,列表日期,旋转=30) #旋转是标签旋转角度。
将横坐标旋转30的效果如下:
将横坐标旋转90的效果如下:
扩展功能二
如果希望在直方图中显示特定的数据值,可以在代码plt.legend()之前添加以下代码:
对于邮政编码为(x1,list1):的a和b
plt.text(a,b 0.1, %.0f % b,ha=center ,va=bottom ,fontsize=7)
对于邮政编码为(x2,list2):的a和b
plt.text(a,b 0.1, %.0f % b,ha=center ,va=bottom ,fontsize=7)
具有特定值的直方图的效果如下:
扩展功能及代码:
将numpy作为np导入
X=[1,2] #横坐标
Y=[3,4] #第一纵坐标
Y1=[5,6] #第二纵坐标
X=np.arange(len(x)) #首先,用第一个的长度作为横坐标。
Width=0.05 #设置列之间的宽度。
fig,ax=plt.subplots()
ax.bar(x,y,宽度,alpha=0.9)
ax.bar(x宽度,y1,宽度,alpha=0.9,color=red )
Ax.set _ x tickets (x width/2) #设置指定位置的坐标
Ax.set_xticklabels(x)#将横坐标替换为
plt.show()
以后有时间我会继续添加扩展功能的~
补充:Python画图实现同一结点多个柱状图
关于python如何用matplotlib绘制平行双直方图并标记值的文章到此结束。有关pythonmatplotlib绘制平行双直方图的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。