• matplotlib笔记之折线图


    简介:

    matplotlib是python对数据呈现的形式之一,分别有折线图,散点图和折线图,当然你问我不学这个可以数据展示吗,回答当然是的,现在已经有网址可以做到数据展示如:https://echarts.apache.org/zh/index.html。但是还是需要看懂,至少不提美观的时候快速生成一个图看一下数据变化也是可好的。


    折线图一,单纯画个图

    plt.plot(x,y),绘制折线图,重点x和y的个数要一致。
    plt.xticks(_xtick_labels),绘制X轴坐标。
    plt.yticks(range(min(y),max(y)+10)),绘制Y轴坐标。

    from matplotlib import pyplot as plt
    fig  = plt.figure(figsize=(20,8),dpi=80)
    x = range(2,26,2)
    y=[15,13,14.5,17,28,25,26,26,24,22,18,15]
    plt.plot(x,y)
    # 绘制x轴刻度
    _xtick_labels = [i/2 for i in range(4,49)]
    plt.xticks(_xtick_labels)
    plt.yticks(range(min(y),max(y)+10))
    plt.savefig('./1.png')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述


    折线图二,加入文字坐标

    matplotlib.rc(‘font’, family=‘MicroSoft YaHei’,weight=‘bold’),加入中文
    plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45),旋转45度
    plt.xlabel(‘时间’),设置X轴名称
    plt.ylabel(‘温度℃’),设置Y轴名称
    plt.title(‘温度变化情况’),设置标题名称
    plt.grid(alpha = 0.4),后背景网格

    import matplotlib
    from matplotlib import pyplot as plt
    import random
    
    matplotlib.rc('font', family='MicroSoft YaHei',weight='bold')
    fig  = plt.figure(figsize=(20,8),dpi=80)
    x = range(0,120)
    y=[random.randint(20,35) for i in range(120)]
    plt.plot(x,y)
    # 绘制x轴刻度
    
    _xtick_labels = ["10点{}分".format(i) for i in range(60)]
    _xtick_labels += ["11点{}分".format(i) for i in range(60)]
    plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45)
    plt.xlabel('时间')
    plt.ylabel('温度℃')
    plt.title('温度变化情况')
    # 绘制网格 透明度alpha
    plt.grid(alpha = 0.4)
    plt.savefig('./2.png')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述


    折线图三,多条折线

    plt.legend(loc=‘upper right’),默认图例位置

    import matplotlib
    from matplotlib import pyplot as plt
    import random
    matplotlib.rc('font', family='MicroSoft YaHei',weight='bold')
    fig  = plt.figure(figsize=(20,8),dpi=80)
    y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
    y_2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
    x = range(11,31)
    plt.plot(x,y_1,label='自己',color='orange',linestyle=':')
    plt.plot(x,y_2,label='同桌',color='cyan',linestyle='-.')
    # 绘制x轴刻度
    _xtick_labels = ["{}岁".format(i) for i in x]
    plt.xticks(x,_xtick_labels,rotation=45)
    # 绘制网格 透明度alpha
    plt.grid(alpha = 0.4)
    # 添加图例
    plt.legend(loc='upper right')
    plt.savefig('./3.png')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述
    github地址:https://github.com/zhichen-roger/pythonProjectMATNumPandas.git

  • 相关阅读:
    从Redis的架构看Redis使用优化方面的几个要点
    如何运行一个 SSM 项目以及解决 JDBC 连接数据库遇到的问题(已解决)
    int, long long, double, float 等数据类型的长度及范围整理
    【C++ techniques】要求/禁止/判断—对象产生于堆中
    SpringBoot拦截器Interceptor的使用-基础篇
    如何使用 TypeScript 编写“ Hello World “程序
    用于无功补偿的固定电容晶闸管控制反应器研究(Simulink)
    Spring-AOP底层原理
    hadoop
    为什么避免在循环、条件或嵌套函数中调用 Hooks
  • 原文地址:https://blog.csdn.net/weixin_43636034/article/details/126713080