大家好,这是近期学习的data analysis 那本书的总结,发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,并且按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python的。
带有误差线的条形图在很多地方都是非常有用的,尤其是在学术文章中经常可以看见,用python怎么做呢?来看看吧。今天我们将使用Python基于一个三种不同材料的热膨胀系数的小数据集做一个如下的图:
首先创建新Python文件,导入numpy和matplotlib,然后录入数据:
然后计算我们需要的均属以及标准差:np.mean()函数计算三种材料的热膨胀系数的平均值,用np.std()函数计算每种金属的标准差:
然后生成画图所需的2个list:
这儿需要解释一下:变量materials等会作为横轴标签,x_pos作为横轴标签位置,我们还需要CETs以及error分别代表误差线的中心和高度。
现在就可以画图了。
首先,我们将使用plt.subplots()函数创建一个画布fig,并在该画布中创建一个子图对象ax。然后对子图进行设置:
ax.bar()的意思就是我们要画柱状图了
注意传递给ax.bar()的参数:
- x_pos 是x轴数据。
- CTEs 是y轴数据。
- yerr=error 设置误差线的高度说白了就是标准偏差。(这是加误差线的关键)
- 关键字参数(align='center', alpha=0.5, ecolor='black', capsize=10)为绘图设定样式。
同时我们还将y轴标题设为“Coefficient of Thermal Expansion” ,ax.set_xticks()设置x轴上每个标签的位置。ax.set_ticklabels()设置标签内容。ax.set_title()和ax.yaxis.grid(True)分别添加标题和水平网格线。
最后,我们还可以使用plt.savefig() 函数将图形保存到名为bar_plot_with_error_bars.png的文件中。
运行代码就可以出图啦!
好了,今天就这么多,欢迎大家关注交流,一起进步,一个小白的python进阶之路。最后附上全部完整代码: