• Matplotlib库学习之mpl_toolkits.mplot3d.Axes3D函数


    Matplotlib库学习之mpl_toolkits.mplot3d.Axes3D函数

    一、简介

    mpl_toolkits.mplot3d.Axes3D 是 Matplotlib 的 mpl_toolkits.mplot3d 工具包中的一个类,用于创建三维坐标轴(3D Axes)。这个类继承自 matplotlib.axes.Axes,提供了在三维空间中绘制图形的能力,非常适合于科学计算和工程领域中的三维数据可视化。

    二、语法和参数

    mpl_toolkits.mplot3d.Axes3D 类的基本使用方式如下:

    from mpl_toolkits.mplot3d import Axes3D
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    
    • fig:一个 matplotlib.figure.Figure 实例。
    • add_subplot:用于在图形上添加子图的方法。
    • projection:指定子图的类型,对于三维坐标轴,应设置为 '3d'
    三、实例
    3.1 创建基本的三维坐标轴
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    # 创建一个新的图形
    fig = plt.figure()
    # 添加一个三维坐标轴
    ax = fig.add_subplot(111, projection='3d')
    # 绘制三维线
    ax.plot([1, 2, 3], [4, 5, 6], [7, 8, 9])
    # 显示图形
    plt.show()
    

    输出:一个包含从点 (1,4,7) 到 (3,6,9) 的三维线条的窗口。

    3.2 绘制三维散点图
    # 使用相同的步骤创建三维坐标轴
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    
    # 绘制三维散点图
    ax.scatter([1, 2, 3], [4, 5, 6], [7, 8, 9])
    # 显示图形
    plt.show()
    

    输出:一个包含三个散点的窗口,散点位置分别为 (1,4,7),(2,5,8) 和 (3,6,9)。

    3.3 绘制三维曲面图
    import numpy as np
    
    # 创建 x, y 网格
    x = y = np.linspace(-5, 5, 100)
    x, y = np.meshgrid(x, y)
    # 计算 z 值
    z = np.sin(np.sqrt(x**2 + y**2))
    
    # 创建一个新的图形和三维坐标轴
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    
    # 绘制三维曲面图
    surf = ax.plot_surface(x, y, z, cmap='viridis')
    # 添加颜色条
    fig.colorbar(surf)
    # 显示图形
    plt.show()
    

    输出:一个包含 sin(sqrt(x^2 + y^2)) 形状的三维曲面图的窗口,以及一个颜色条。

    四、注意事项
    • 在使用 Axes3D 类之前,需要导入 matplotlib.pyplotmpl_toolkits.mplot3d
    • projection='3d' 参数是必需的,以确保创建的是三维坐标轴。
    • 三维坐标轴可以绘制多种三维图形,如线条、散点、曲面等。
    • 与二维坐标轴相比,三维坐标轴增加了 ax.set_zlim([zmin, zmax]) 方法来设置 z 轴的范围,以及 ax.set_zlabel('label') 方法来设置 z 轴的标签。
    • 在绘制三维图形时,性能可能会受到数据量大小的影响。对于非常大的数据集,可能需要优化或使用更高效的可视化方法。
  • 相关阅读:
    while语句的实际应用(1)
    Linux Shell脚本练习(一)
    使用canvas实现图纸标记及回显
    Docker---Docker-compose 安装部署 zentao 禅道
    JS基础练习
    嵌入式系统开发笔记81:使用Dialog组件设计提示对话框
    mySQL中查询统计俩个表相加COUNT之合
    RTP Tools
    阿里云99元服务器真的香!老用户也可以买一个,续费同价哦!
    健身戴什么耳机,盘点几款健身佩戴的耳机推荐
  • 原文地址:https://blog.csdn.net/qq_46396470/article/details/140426481