Python如何绘制柱形图
这篇文章主要为大家展示了Python如何绘制柱形图,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
1垂直柱图(普通柱图)
绘制普通柱图的python代码如下:
(左右滑动可以查看全部代码)
# -*- coding:utf-8 -*- # 申明编码格式为utf-8 import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams["font.sans-serif"]=["SimHei"] #指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码 mpl.rcParams["axes.unicode_minus"]=False#用来正常显示负号x = [1,2,3,4,5,6,7,8]y = [30,11,42,53,81,98,72,25]#数据abels=["A","B","C","D","E","F","G","H"]#定义柱子的标签plt.bar(x,y,align="center",color="rgb",tick_label=labels,hatch=" ",ec='gray')#绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。#bar柱图函数还有以下参数:#颜色:color,可以取具体颜色如red(简写为r),也可以用rgb让每条柱子采用不同颜色。#描边:edgecolor(ec):边缘颜色;linestyle(ls):边缘样式;linewidth(lw):边缘粗细#填充:hatch,取值:/,|,-,+,x,o,O,.,*#位置标志:tick_labelplt.xlabel(u"样品编号")plt.ylabel(u"库伦效率/%")plt.show()
2 水平柱图
将上述代码稍微调整几行代码即可绘制出水平柱图。
(1)第19行“plt.bar”加一个字母h,即“plt.barh”
(2)第28和29行两行的“plt.xlabel”和“plt.ylable”中的x和y互换一下。
得到绘图效果如下:
3堆积柱图
将第1点中代码第14~21行代码调整如下:
(左右滑动可以查看全部代码)
x = [1,2,3,4,5,6,7,8]y = [30,11,42,53,81,98,72,25]y1= [45,23,44,67,88,89,65,75]#数据labels=["A","B","C","D","E","F","G","H"]#定义柱子的标签plt.bar(x,y,align="center",color="b",tick_label=labels,hatch=" ",ec='gray')#绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。plt.bar(x,y1,align="center",color="g",tick_label=labels,hatch=" ",ec='gray',bottom=y)
绘制出垂直堆积图效果如下:
上述第22行是绘制y1第二组柱图,与第一组y柱图绘制的plt.bar()函数中不同的是,y1柱图的绘制参数中多了一个bottom=y,即柱图的底部设置为第一组y值,这样可以将y1堆积在y上。至于水平堆积柱图的python代码与上述类似。
4并列柱图
并列柱图,特别是带误差棒的柱图,是我们最常用的柱状图。
完整代码如下:
(左右滑动可以查看全部代码)
# -*- coding:utf-8 -*-# 申明编码格式为utf-8import matplotlib as mplimport matplotlib.pyplot as pltimport numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]#指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码mpl.rcParams["axes.unicode_minus"]=False#用来正常显示负号x = np.arange(8) #产生1~8的序列#注意:这里使用numpy库,需要在程序开始时导包“import numpy as np”y = [10,11,22,33,41,58,62,75]std_err=[2,4,5,6,8,9,8,6] #误差棒y1= [15,23,44,67,88,99,95,85]std_err1=[1,2,1,2,1,2,3,2] #误差棒#数据error_attri = dict(elinewidth=1,ecolor="r",capsize=3)#定义误差棒属性的字典数据。这三个参数分别定义误差棒的线宽、颜色、帽子大小tick_label=["A","B","C","D","E","F","G","H"]#定义柱子的标签bar_width=0.35#定义柱宽plt.bar(x,y,bar_width,color="lightgreen",align="center",label="掺杂前",yerr=std_err,error_kw=error_attri)#绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。plt.xticks(x+bar_width/2,tick_label)plt.xlabel("样品编号")plt.ylabel("降解率/%")plt.legend()plt.show()
5堆积误差棒柱图
前面第4点中修改第28~32行如下:
plt.bar(x,y,color="g",align="center",label="掺杂前",yerr=std_err,error_kw=error_attri)#绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。plt.bar(x,y1,bottom=y,color="y",align="center",label="掺杂后",yerr=std_err1,error_kw=error_attri)plt.xticks(x,tick_label)
即可绘制出堆积误差柱图,效果如下:
以上就是关于Python如何绘制柱形图的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。