码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【深度学习】 Python 和 NumPy 系列教程(十九):Matplotlib详解:2、3d绘图类型(5)3D等高线图(3D Contour 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)

    5. 3D等高线图(3D Contour 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博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501

    2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图_QomolangmaH的博客-CSDN博客icon-default.png?t=N7T8https://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博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132890293?spm=1001.2014.3001.5501

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

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

    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)

    3d绘图类型(4)3D曲面图(3D Surface Plot)_QomolangmaH的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132891652?spm=1001.2014.3001.5501

    5. 3D等高线图(3D Contour 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.contour3D(x_mesh, y_mesh, z, 50, 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.contour3D函数绘制了3D等高线图。
      •  x_mesh、y_mesh和z参数分别表示等高线图的x、y和z坐标数据。
      • 50参数表示等高线图的轮廓线数量(可以根据需要调整)。
      • cmap='viridis'参数指定了颜色映射方案。
    • 使用ax.set_xlabel、ax.set_ylabel和ax.set_zlabel函数设置了坐标轴的标签。
    • 运行示例代码后,将看到一个3D等高线图,其中等高线的位置和形状由z数组确定。

  • 相关阅读:
    【PTA题目】6-20 使用函数判断完全平方数 分数 10
    【Linux】 ubuntu 安装 Qt软件
    2023 年《网络建设与运维》赛题解析
    登陆认证&权限控制(1)——从session到token认证的变迁 & session的问题分析 + CSRF攻击的认识
    基础篇01——SQL的基本语法和分类
    什么是JVM?什么是JDK? 什么是JRE?
    基于YOLOv8深度学习的智能道路裂缝检测与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、目标分割
    数据结构--管道
    Unity3D URP 仿蜘蛛侠风格化Bloom&AO
    python项目实战——银行取款机系统(二)
  • 原文地址:https://blog.csdn.net/m0_63834988/article/details/132891816
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号