Python Matplotlib库实现函数可视化详解:第二十章

   本文将介绍如何使用Python的这些库来实现函数的二维和三维可视化,并提供一些优美的三维函数示例。资源绑定附上完整资源供读者参考学习!

一、库的介绍

  • Matplotlib:经典的二维和三维可视化库,支持多种图表类型。

  • Plotly:交互式可视化库,支持动态三维图形。

  • 二、常见函数示例

    1. 二维函数示例

    示例1:正弦函数
    Python示例代码:
    import numpy as np
    import matplotlib.pyplot as plt
    from pylab import mpl
    
    #指定默认字体
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    #解决负数坐标显示问题
    plt.rcParams['axes.unicode_minus'] = False
    
    # 定义函数
    x = np.linspace(0, 2 * np.pi, 100)
    y = np.sin(x)
    
    # 绘制图像
    plt.plot(x, y,color='r')
    plt.title("正弦函数")
    plt.xlabel("x")
    plt.ylabel("y")
    plt.grid(True)
    plt.show()
    效果展示:

    示例2:抛物线函数
    Python示例代码:
    import math
    import numpy as np
    import matplotlib.pyplot as plt
    from pylab import mpl
    
    # 指定默认字体
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    # 解决负数坐标显示问题
    plt.rcParams['axes.unicode_minus'] = False
    
    # 生成y值的范围,包括负数
    y = np.linspace(-10, 10, 100)
    x = y**2  # 定义x为y的平方
    
    # 绘制开口向右的抛物线
    plt.plot(x, y, color='r')
    plt.title("开口向右的抛物线", color='black')
    plt.xlabel("x")
    plt.ylabel("y")
    plt.grid(True)
    plt.show()
    
    
    效果展示:

    2. 三维函数示例

    示例1:三维曲面
    Python示例代码
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    import matplotlib.pyplot as plt
    from pylab import mpl
    
    #指定默认字体
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    #解决负数坐标显示问题
    plt.rcParams['axes.unicode_minus'] = False
    
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    
    # 定义函数
    x = np.linspace(-5, 5, 100)
    y = np.linspace(-5, 5, 100)
    x, y = np.meshgrid(x, y)
    z=x**2+2*y**2+4
    
    # 绘制图像
    ax.plot_surface(x, y, z, cmap='viridis')
    ax.set_title("三维曲面")
    ax.set_xlabel("x")
    ax.set_ylabel("y")
    ax.set_zlabel("z")
    plt.show()
    
    效果展示

    示例2:三维曲线
    Python示例代码
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    import matplotlib.pyplot as plt
    from pylab import mpl
    
    #指定默认字体
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    #解决负数坐标显示问题
    plt.rcParams['axes.unicode_minus'] = False
    
    t = np.linspace(0, 2 * np.pi, 100)
    x = np.sin(t)
    y = np.cos(t)
    z = t
    
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.plot(x, y, z,color='b')
    ax.set_title("三维曲线")
    ax.set_xlabel("x")
    ax.set_ylabel("y")
    ax.set_zlabel("z")
    plt.show()
    
    效果展示

    三、优美的三维函数示例

    示例1:球面函数

    Python示例代码
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    import matplotlib.pyplot as plt
    from pylab import mpl
    
    #指定默认字体
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    #解决负数坐标显示问题
    plt.rcParams['axes.unicode_minus'] = False
    
    u = np.linspace(0, 2 * np.pi, 100)
    v = np.linspace(0, np.pi, 100)
    x = np.outer(np.cos(u), np.sin(v))
    y = np.outer(np.sin(u), np.sin(v))
    z = np.outer(np.ones(np.size(u)), np.cos(v))
    
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.plot_surface(x, y, z, cmap='Oranges')
    ax.set_title("球面函数")
    ax.set_xlabel("x")
    ax.set_ylabel("y")
    ax.set_zlabel("z")
    plt.show()
    
    效果展示

    示例2:莫比乌斯带

    Python示例代码
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    import matplotlib.pyplot as plt
    from pylab import mpl
    
    #指定默认字体
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    #解决负数坐标显示问题
    plt.rcParams['axes.unicode_minus'] = False
    
    u = np.linspace(0, 2 * np.pi, 100)
    v = np.linspace(-0.5, 0.5, 100)
    u, v = np.meshgrid(u, v)
    x = (1 + v * np.cos(u / 2)) * np.cos(u)
    y = (1 + v * np.cos(u / 2)) * np.sin(u)
    z = v * np.sin(u / 2)
    
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.plot_surface(x, y, z, cmap='gist_rainbow_r')
    ax.set_title("莫比乌斯带")
    ax.set_xlabel("x")
    ax.set_ylabel("y")
    ax.set_zlabel("z")
    plt.show()
    
    效果展示

    四、函数参数用法总结

    以下是Matplotlib中常用函数的参数用法总结:

    函数 参数 描述
    plot x, y 绘制二维曲线
    plot_surface x, y, z 绘制三维曲面
    plot_wireframe x, y, z 绘制三维线框图
    contour x, y, z 绘制等高线图
    scatter x, y 绘制二维散点图
    scatter3D x, y, z 绘制三维散点图

    通过这些函数,我们可以轻松实现各种数学函数的可视化,为数学建模和数据分析提供直观的工具。希望本文能帮助你快速上手Python的函数可视化!资源绑定附上完整资源供读者参考学习!

    作者:啊阿狸不会拉杆

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python Matplotlib库实现函数可视化详解:第二十章

    发表回复