zoukankan      html  css  js  c++  java
  • 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

    转载仅为学习,不会商用。
    欢迎转载原创,附文链接。
  • 相关阅读:
    SQL学习日志
    程序员之路──如何学习C语言并精通C语言
    using用法
    c#中的接口与类的区别
    用c#来实现一种行列式的计算优化
    python 切换目录
    如何光盘自动运行html?
    nsis 安装脚本示例(转)
    python sys.path.append
    python 面向对象初认识
  • 原文地址:https://www.cnblogs.com/xdd1997/p/14246493.html
Copyright © 2011-2022 走看看