导入模块
import numpy as np
import matplotlib.pyplot as plt
设置支持汉字显示
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
设置X轴和Y轴的数据
x = np.arange(2)
y1 = np.array([2.03, 1.75])
y2 = np.array([1.70, 1.65])
y3 = np.array([4.59, 3.27])
指定测量偏差
error1 = [0.20, 0.32]
error2 = [0.52, 0.13]
error3 = [0.42, 0.88]
bar_width = 0.2
绘制柱形图
plt.bar(x, y1, bar_width)
plt.bar(x + bar_width, y2, bar_width, tick_label=["南半球","北半球"])
plt.bar(x + 2*bar_width, y3, bar_width)
绘制误差棒
plt.errorbar(x, y1, yerr=error1, capsize=2, elinewidth=2, fmt=',k')
plt.errorbar(x + bar_width, y2, yerr=error2, capsize=2, elinewidth=2, fmt=',k')
plt.errorbar(x + 2*bar_width, y3, yerr=error3, capsize=2, elinewidth=2, fmt=',k')
plt.show()
完整运行代码展示:
import numpy as np
import matplotlib.pyplot as plt
# 0.设置支持汉字显示(固定代码,无需更改)
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#准备X轴和Y轴的数据
x = np.arange(2)
y1 = np.array([2.03, 1.75])
y2 = np.array([1.70, 1.65])
y3 = np.array([4.59, 3.27])
#指定测量偏差
error1 = [0.20, 0.32]
error2 = [0.52, 0.13]
error3 = [0.42, 0.88]
bar_width = 0.2
#绘制柱形图
plt.bar(x, y1, bar_width)
plt.bar(x + bar_width, y2, bar_width, tick_label=["南半球","北半球"])
plt.bar(x + 2*bar_width, y3, bar_width)
#绘制误差棒
plt.errorbar(x, y1, yerr=error1, capsize=2, elinewidth=2, fmt=',k')
plt.errorbar(x + bar_width, y2, yerr=error2, capsize=2, elinewidth=2, fmt=',k')
plt.errorbar(x + 2*bar_width, y3, yerr=error3, capsize=2, elinewidth=2, fmt=',k')
plt.show()
运行结果