温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python做出柱形图

发布时间:2021-11-25 14:58:24 来源:亿速云 阅读:421 作者:iii 栏目:大数据

这篇文章主要介绍“怎么用Python做出柱形图”,在日常操作中,相信很多人在怎么用Python做出柱形图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python做出柱形图”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1垂直柱图(普通柱图)

怎么用Python做出柱形图

绘制普通柱图的python代码如下:

(左右滑动可以查看全部代码)

 1# -*- coding:utf-8 -*-  2# 申明编码格式为utf-8  3  4import matplotlib as mpl  5import matplotlib.pyplot as plt  6  7mpl.rcParams["font.sans-serif"]=["SimHei"]  8#指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码  9mpl.rcParams["axes.unicode_minus"]=False 10#用来正常显示负号 11 12 13 14x = [1,2,3,4,5,6,7,8] 15y = [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_label plt.xlabel(u"样品编号") plt.ylabel(u"库伦效率/%") plt.show()

2 水平柱图

将上述代码稍微调整几行代码即可绘制出水平柱图。

(1)第19行“plt.bar”加一个字母h,即“plt.barh”

(2)第28和29行两行的“plt.xlabel”和“plt.ylable”中的x和y互换一下。

得到绘图效果如下:

一篇文章文章教会你如何去用Python做出柱形图(附源码)

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)

绘制出垂直堆积图效果如下:

怎么用Python做出柱形图

上述第22行是绘制y1第二组柱图,与第一组y柱图绘制的plt.bar()函数中不同的是,y1柱图的绘制参数中多了一个bottom=y,即柱图的底部设置为第一组y值,这样可以将y1堆积在y上。至于水平堆积柱图的python代码与上述类似。

4并列

并列柱图,特别是带误差棒的柱图,是我们最常用的柱状图。

完整代码如下:

(左右滑动可以查看全部代码)

# -*- coding:utf-8 -*- # 申明编码格式为utf-8 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.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定义柱图的斜纹填充,省略该参数表示默认不填充。 32plt.xticks(x+bar_width/2,tick_label) 33 34plt.xlabel("样品编号") 35plt.ylabel("降解率/%") 36plt.legend() 37plt.show()

5堆积误差棒柱图

前面第4点中修改第28~32行如下:

 28plt.bar(x,y,color="g",align="center",label="掺杂前",yerr=std_err,error_kw=error_attri) 29#绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。 30plt.bar(x,y1,bottom=y,color="y",align="center",label="掺杂后",yerr=std_err1,error_kw=error_attri) plt.xticks(x,tick_label)

即可绘制出堆积误差柱图,效果如下:

怎么用Python做出柱形图

到此,关于“怎么用Python做出柱形图”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI