python绘图

一个案例

import matplotlib.pyplot as plt

# 数据处理
data = [

['01/01','0','0'],
['01/02','1','0'],
['01/03','4','13'],
['01/04','14','30'],
['01/05','20','43'],
['01/06','51','69']


]

X0=[]
Y1=[]
Y2=[]
for ii in data:
   X0.append(ii[0])
   Y1.append(int(ii[1]))
   Y2.append(int(ii[2]))

# 绘图设置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 绘图
fig, ax = plt.subplots()
rects1 = ax.bar(x=X0, height=Y1, width=0.45, color='red', label="确诊",alpha=0.8)
rects2 = ax.bar(x=X0, height=Y2, width=0.45, color='green', label="无症状", bottom=Y1,alpha=0.8)


# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x, y in enumerate(Y1):
    plt.text(x, y/2, '%s' % y, ha='center', va='bottom',fontsize='12')

Y3 = []
for ii in range(len(Y1)):
    Y3.append((Y1[ii]+Y2[ii]))
print(Y3)

for x, y in enumerate(Y3):
    plt.text(x, y + 1, '%s' % y, ha='center', va='bottom',fontsize='12')


# y轴范围
maxN = max(Y1)+max(Y2)
plt.ylim(0, maxN*1.4)

plt.xlabel("日期")
plt.ylabel("人数")
ax.set_title('河北近日新冠新增')

# X轴标签
ax.set_xticklabels(X0)


plt.legend()
plt.savefig('2.tif', dpi=300)
plt.show()
View Code

转载仅为学习,不会商用。
欢迎转载原创,附文链接。
原文地址:https://www.cnblogs.com/xdd1997/p/14246493.html