Python 绘制英文柱状图+显示数字
var foo = 'bar';
import numpy as np
import matplotlib.pyplot as plt
import random
# 准备数据
x_data = [2019,2020,2021,2022,2023]
y_data = [1,20,59,52,36]
# 正确显示中文和负号 (如果是中文字体使用下边两行)
# plt.rcParams["font.sans-serif"] = ["SimHei"]
# plt.rcParams["axes.unicode_minus"] = False
# 正确显示英文和负号
plt.rcParams["font.sans-serif"] = ["Times New Roman"]
plt.rcParams["axes.unicode_minus"] = False
# 画图,plt.bar()可以画柱状图
plt.bar(x_data, y_data,color='royalblue',width = 0.5)
for a,b in zip(x_data, y_data): #柱子上的数字显示
plt.text(a,b,'%d'%b,ha='center',va='bottom',fontsize=7); #如果数据是小数可以用%.2f,保留2位小数
# 设置图片名称
#plt.title("**分析") *可根据需要自行添加图的标题
# 设置x轴标签名
plt.xlabel("Year",Family='Times New Roman')
# 设置y轴标签名
plt.ylabel("Number of papers")
# 添加网格
#plt.grid(visible=True, axis='x') # 只显示x轴网格线
plt.grid(visible=True, axis='y') # 只显示y轴网格线
# 显示
plt.savefig('柱状图.jpg', dpi=500, bbox_inches='tight') #dpi设置分辨率 bbox_inches裁剪空白区域
plt.show()
结果如下:
更多颜色可以参考: