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
复制代码

 

posted @   xdd1997  阅读(86)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2020-01-07 变量,函数等命名
点击右上角即可分享
微信分享提示