码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【深度学习】 Python 和 NumPy 系列教程(十八):Matplotlib详解:2、3d绘图类型(4)3D曲面图(3D Surface Plot)


    目录

     一、前言

    二、实验环境

    三、Matplotlib详解

    1、2d绘图类型

    2、3d绘图类型

    0. 设置中文字体

    1. 3D线框图(3D Line Plot)

    2. 3D散点图(3D Scatter Plot)

    3. 3D条形图(3D Bar Plot)

    4. 3D曲面图(3D Surface Plot)


     一、前言

            Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。

            Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:

    • Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
    • Numpy:数组创建、数组操作、数组数学、广播
    • Matplotlib:2d绘图、3d绘图、图表自定义、多子图和布局、图表自定义、多子图和布局
    • IPython:创建笔记本、典型工作流程

    二、实验环境

    matplotlib3.5.3
    numpy1.21.6
    python3.7.16
    • 运行下述命令检查Python版本
     python --version 
    • 运行下述代码检查Python、NumPy、Matplotlib版本
    1. import sys
    2. import numpy as np
    3. import matplotlib
    4. print("Python 版本:", sys.version)
    5. print("NumPy 版本:", np.__version__)
    6. print("matplotlib 版本:", matplotlib.__version__)

    三、Matplotlib详解

            Matplotlib是一个用于创建数据可视化的Python库。它提供了广泛的绘图选项,能够生成各种类型的图表、图形和可视化效果。下面是Matplotlib的一些主要功能:

    1. 绘图风格和类型:Matplotlib支持各种绘图风格和类型,包括线图、散点图、柱状图、饼图、等高线图、3D图等,可以根据需要选择适合的图表类型来展示和分析数据。

    2. 数据可视化:Matplotlib使得将数据转化为可视化表示变得简单,可以使用Matplotlib绘制图表来展示数据的分布、趋势、关系等,这有助于更好地理解数据和发现潜在的模式和关联。

    3. 图表自定义:Matplotlib提供了丰富的图表自定义选项,可以调整图表的标题、标签、坐标轴、线条样式、颜色等。这使得您能够创建符合特定需求和品味的高质量图表。

    4. 多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。

    5. 导出图像:Matplotlib支持将图像导出为多种格式,包括PNG、JPEG、PDF、SVG等。这使得您可以方便地将生成的图表保存为文件,或嵌入到文档、报告和演示文稿中。

            无论是进行科学研究、数据分析、报告撰写还是可视化展示,Matplotlib都是一个强大而灵活的工具。它广泛应用于各个领域,如数据科学、机器学习、金融分析、工程可视化等。

    1、2d绘图类型

    2d绘图(上):折线图、散点图、柱状图、直方图、饼图_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501

    2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501

    2、3d绘图类型

    0. 设置中文字体

    1. import matplotlib
    2. matplotlib.rcParams['font.family'] = 'Microsoft YaHei' # 设置为微软雅黑字体
    3. matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体

            若不进行该设置,会报错字体缺失

    1. 3D线框图(3D Line Plot)

    3d绘图类型(1):线框图(Wireframe Plot)_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132890293?spm=1001.2014.3001.5502

    2. 3D散点图(3D Scatter Plot)

    3d绘图类型(2)3D散点图(3D Scatter Plot)_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132891434?spm=1001.2014.3001.5502

    3. 3D条形图(3D Bar Plot)

    3d绘图类型(3)3D条形图(3D Bar Plot)_QomolangmaH的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132890907?spm=1001.2014.3001.5502

    4. 3D曲面图(3D Surface Plot)

    1. import matplotlib.pyplot as plt
    2. import numpy as np
    3. # 数据准备
    4. x = np.linspace(-5, 5, 100) # x轴数据范围
    5. y = np.linspace(-5, 5, 100) # y轴数据范围
    6. x_mesh, y_mesh = np.meshgrid(x, y) # 创建网格
    7. z = np.sin(np.sqrt(x_mesh**2 + y_mesh**2)) # 曲面高度
    8. # 创建3D图形对象
    9. fig = plt.figure()
    10. ax = fig.add_subplot(111, projection='3d')
    11. # 绘制3D曲面图
    12. ax.plot_surface(x_mesh, y_mesh, z, cmap='viridis')
    13. # 设置坐标轴标签
    14. ax.set_xlabel('X')
    15. ax.set_ylabel('Y')
    16. ax.set_zlabel('Z')
    17. # 显示图形
    18. plt.show()

    • x和y数组分别表示曲面图的x和y轴数据范围。通过使用np.linspace函数在指定范围内生成100个均匀分布的数据点。
    • 我们创建了一个3D图形对象,并将其添加到子图中。
    • 使用ax.plot_surface函数绘制了3D曲面图
      • x_mesh、y_mesh和z参数分别表示曲面图的x、y和z坐标数据。
      • cmap='viridis'参数指定了颜色映射方案(可以根据需要选择其他颜色映射)。
    • 使用ax.set_xlabel、ax.set_ylabel和ax.set_zlabel函数设置了坐标轴的标签。

      

  • 相关阅读:
    HIVE操作自查手册(全)
    名窑讲坛:钧瓷“神、奇、妙、绝”四大特色之“妙”——纹路
    python 蓝桥杯之并查集
    信号特点,异步/同步概念,查看信号(kill -l,man 7 signa),实时/分时os概念
    CMake库搜索函数居然不搜索LD_LIBRARY_PATH
    MindSpore:【AIR模型导出】导出时提示源码中select_op参数类型转换失败
    Python学习笔记--字符、变量、数据类型与注释
    c++模板
    spring cloud 应用框架
    快速恢复notes.ini文件
  • 原文地址:https://blog.csdn.net/m0_63834988/article/details/132891652
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号