• 【Python数据分析】matplotlib绘图


    导包
    import matplotlib.pyplot as plt
    
    • 1
    • 2

    一、快速绘图

    # 准备绘图数据
    import numpy as np
    x=np.arange(0,1,0.05)
    print(x)
    
    • 1
    • 2
    • 3
    • 4

    [0. 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65
    0.7 0.75 0.8 0.85 0.9 0.95]

    #y=sin(2*pi*x)
    y=np.sin(2*np.pi*x)
    print(y)
    
    • 1
    • 2
    • 3

    [ 0.00000000e+00 3.09016994e-01 5.87785252e-01 8.09016994e-01
    9.51056516e-01 1.00000000e+00 9.51056516e-01 8.09016994e-01
    5.87785252e-01 3.09016994e-01 1.22464680e-16 -3.09016994e-01
    -5.87785252e-01 -8.09016994e-01 -9.51056516e-01 -1.00000000e+00
    -9.51056516e-01 -8.09016994e-01 -5.87785252e-01 -3.09016994e-01]

    #plt.plot
    plt.plot(x,y)
    plt.show()
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    # 修改线条颜色,线型
    plt.plot(x,y,'b--')#设置蓝色,虚线--
    plt.show()
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    plt.plot(x,y,'b--*')
    plt.show()
    
    • 1
    • 2

    在这里插入图片描述

    #添加标题
    plt.plot(x,y,'b--*')
    plt.title('My first plot')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    #添加横纵坐标
    plt.plot(x,y,'b--*')
    plt.title('My first plot')
    plt.xlabel('x lable')
    plt.ylabel('y lable')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    #添加图例 两步:添加label='sin';调用plt.legend函数
    plt.plot(x,y,'b--*',label='sin')
    plt.title('My first plot')
    plt.xlabel('x lable')
    plt.ylabel('y lable')
    plt.legend(loc='best')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    二、添加多个图表 figure和subplot

    #添加多个图表 figure和subplot
    fig=plt.figure()#创建figure对象
    ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
    ax2=fig.add_subplot(222)
    ax3=fig.add_subplot(223)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    #添加多个图表 figure和subplot
    #绘制某个图表
    fig=plt.figure()#创建figure对象
    ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
    ax2=fig.add_subplot(222)
    ax3=fig.add_subplot(223)
    ax2.plot(x,y)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    三、颜色、线条、标记

    #颜色、线型、标记
    #方法一:
    fig=plt.figure()
    ax=fig.add_subplot(111)
    ax.plot(x,y,'r--*')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    # 方法二:根据对象参数设置
    fig=plt.figure()
    ax=fig.add_subplot(111)
    ax.plot(x,y,color='b',linestyle='--',marker='*')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    #添加多个图表 :简写方法subplots
    # 方法一:
    fig=plt.figure()#创建figure对象
    ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
    ax2=fig.add_subplot(222)
    ax3=fig.add_subplot(223)
    ax2.plot(x,y)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    #方法二:简写方法subplots
    fig,ax=plt.subplots(2,2)
    #根据索引定位
    ax[0,1].plot(x,y)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    #标题、标签、图例
    fig,ax=plt.subplots()
    ax.plot(x,y,'g--o')
    ax.set(title='my first plot',xlabel='x',ylabel='y')
    ax.legend(loc='best') #设置位置
    ax.grid()#添加网格线
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    #y2=cos(2*pi*x)
    y2=np.cos(2*np.pi*x)
    print(y2)
    
    • 1
    • 2
    • 3

    [ 1.00000000e+00 9.51056516e-01 8.09016994e-01 5.87785252e-01
    3.09016994e-01 6.12323400e-17 -3.09016994e-01 -5.87785252e-01
    -8.09016994e-01 -9.51056516e-01 -1.00000000e+00 -9.51056516e-01
    -8.09016994e-01 -5.87785252e-01 -3.09016994e-01 -1.83697020e-16
    3.09016994e-01 5.87785252e-01 8.09016994e-01 9.51056516e-01]

    fig,ax=plt.subplots()
    ax.plot(x,y,'b--*',label='sin')
    ax.plot(x,y2,'r--o',label='cos')
    ax.legend(loc='best') #自动显示
    #ax.legend(loc='upper right') #靠右侧显示
    ax.set(title='sin&cos')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    四、将图表保存到本地

    #将图表保存到本地
    fig.savefig('myfig.png')
    
    • 1
    • 2
  • 相关阅读:
    AIR101 LuatOS LVGL 显示多个标签例程
    1.2 数据模型
    在Springboot HandlerInterceptor中获取GET和POST请求参数
    ASP.NET Core Web API Swagger 按标签Tags分组排序显示
    前后端分离开发工具YAPI部署记录
    【C++】常用集合算法
    onps栈移植说明(2)——编译器及os适配层移植
    springboot+音乐播放小程序 毕业设计-附源码191730
    大模型交互-超拟人合成
    Android控件全解手册 - 万字说出EditText的全部
  • 原文地址:https://blog.csdn.net/ZZQHELLO2018/article/details/125616849