• python 绘图---2D、3D散点图、折线图、曲面图


    python中绘制2D曲线图需要使用到Matplotlib,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

    1. 绘制折线图


    plt.plot() 可以用于绘制折线图。只传入一维的散点(n个)p1时,横坐标对应散点的次序,从0到n-1,纵坐标对应散点的值。示例:

    # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    import numpy as np
    
    p1=[0,1.1,1.8,3.1,4.0]  # 数据点
    
    #创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
    plt.figure('Draw')
    
    plt.plot(p1)  # plot绘制折线图
    
    plt.draw()  # 显示绘图
    
    plt.pause(5)  #显示5秒
    
    plt.savefig("easyplot01.jpg")  #保存图象
    
    plt.close()   #关闭图表

    绘图:



    plt.plot() 传入二维的散点p1,p2(p1和p2的长度要一样)时,横坐标x绘制p1,纵坐标y绘制p2,示例:

    # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    import numpy as np
    
    p1=[0,1.1,1.8,3.1,4.0]  # 数据点
    p2=[2,2.4,4.3,3.5,2.5]
    
    #创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
    plt.figure('Draw')
    
    plt.plot(p1,p2)  # plot绘制折线图
    
    plt.draw()  # 显示绘图
    
    plt.pause(5)  #显示5秒
    
    plt.savefig("easyplot01.jpg")  #保存图象
    
    plt.close()   #关闭图表

    绘图:



    2. 绘制散点图


    plt.scatter()用于绘制散点图,传入参数必须是二维的:plt.scatter(p1,p2),示例:

    # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    import numpy as np
    
    p1=[0,1.1,1.8,3.1,4.0]  # 数据点
    p2=[2,2.4,4.3,3.5,2.5]
    
    #创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
    plt.figure('Draw')
    
    plt.scatter(p1,p2)  # scatter绘制散点图
    
    plt.draw()  # 显示绘图
    
    plt.pause(10)  #显示10秒
    
    plt.savefig("easyplot.jpg")  #保存图象
    
    plt.close()   #关闭图表

    绘图:




    plt.plot() 也可以用于绘制散点图,plt.plot(p1,p2,'ro')表示散点的颜色是红色,形状是o,示例:

    # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    import numpy as np
    
    p1=[0,1.1,1.8,3.1,4.0]  # 数据点
    p2=[2,2.4,4.3,3.5,2.5]
    
    #创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
    plt.figure('Draw')
    
    plt.plot(p1,p2,'ro')
    
    plt.draw()  # 显示绘图
    
    plt.pause(10)  #显示10秒
    
    plt.savefig("easyplot.jpg")  #保存图象
    
    plt.close()   #关闭图表

    绘图:



    3. 添加坐标轴说明、添加标题、图片中插入文字、显示网格


    坐标轴说明:plt.xlabel()、plt.ylabel()
    添加标题: plt.title()
    插入文字: plt.text(60, .025, r'$number=5, sigma=0$')
    显示网格: plt.grid(True)


    # -*- coding: utf-8 -*-
    import matplotlib.pyplot as plt
    import numpy as np
    
    p1=[0,1.1,1.8,3.1,4.0]  # 数据点
    p2=[2,2.4,4.3,3.5,2.5]
    
    #创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
    plt.figure('Draw')
    
    plt.plot(p1,p2,'ro')
    
    plt.xlabel('number of samples')
    plt.ylabel('value of samples')
    
    plt.title('sample data')
    
    plt.text(1.1, 3.6, r'$number=5, sigma=0$')
    
    plt.grid(True)
    
    plt.draw()  # 显示绘图
    
    plt.pause(10)  #显示10秒
    
    plt.savefig("easyplot.jpg")  #保存图象
    
    plt.close()   #关闭图表

    绘图:



    4. 绘制3D图曲面图


    plot_surface()用于绘制3D曲面图:

    # -*- coding: utf-8 -*-
    from matplotlib import pyplot as plt
    import numpy as np
    from mpl_toolkits.mplot3d import Axes3D
    
    fig = plt.figure()
    ax = Axes3D(fig)
    
    X = [0,1.1,1.8,3.1,4.0]
    Y = [2,2.4,4.3,3.5,2.5]
    X, Y = np.meshgrid(X, Y)
    Z = [2,2.4,4.3,3.5,2.5]
    
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
    
    plt.draw()
    plt.pause(10)
    plt.savefig('3D.jpg')
    plt.close()
    

    绘图:


    使用plot_surface()绘制另一个3D曲面:

    # -*- coding: utf-8 -*-
    from matplotlib import pyplot as plt
    import numpy as np
    from mpl_toolkits.mplot3d import Axes3D
    
    fig = plt.figure()
    ax = Axes3D(fig)
    X = np.arange(-4, 4, 0.25)
    Y = np.arange(-4, 4, 0.25)
    X, Y = np.meshgrid(X, Y)
    R = np.sqrt(X**2 + Y**2)
    Z = X*Y
    
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
    
    plt.draw()
    plt.pause(10)
    plt.savefig('3D.jpg')
    plt.close()

    绘图:




    5. 绘制3D散点图


    scatter()用于绘制3D散点图:

    # -*- coding: utf-8 -*-
    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    x = [0,1.1,1.8,3.1,4.0]
    y = [2,2.4,4.3,3.5,2.5]
    z = [1,2,3,4,5]
    
    ax = plt.subplot(projection='3d')  # 创建一个三维的绘图工程
    
    ax.scatter(x, y, z, c='r')  # 绘制数据点,颜色是红色
    
    ax.set_zlabel('Z')  # 坐标轴
    ax.set_ylabel('Y')
    ax.set_xlabel('X')
    
    plt.draw()
    plt.pause(10)
    plt.savefig('3D.jpg')
    plt.close()

    绘图:



  • 相关阅读:
    UI 简单练习(联动实例)
    软件工程与计算机科学
    中文编程
    自我介绍
    曾经的梦想
    即时通讯研究学习
    即时通讯研究学习
    创业
    2015-08-12-火影
    看<后海不是海>的随想
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411753.html
Copyright © 2020-2023  润新知