【深度学习】 Python 和 NumPy 系列教程(廿四):Matplotlib详解:2、3d绘图类型(10)3D箱线图(3D Box Plot)

2023-09-15 16:58:15

目录

一、前言

二、实验环境

三、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)

6. 3D向量场图(3D Vector Field Plot)

7. 3D表面投影图(3D Surface Projection Plot)

8. 3D饼图(3D Pie Chart)

9. 3D等高线投影图(3D Contour Projection Plot)

10. 3D箱线图(3D Box 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版本
import sys
import numpy as np
import matplotlib

print("Python 版本:", sys.version)
print("NumPy 版本:", np.__version__)
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.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://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.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501

2、3d绘图类型

0. 设置中文字体

import matplotlib

matplotlib.rcParams['font.family'] = 'Microsoft YaHei'  # 设置为微软雅黑字体
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.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132890293?spm=1001.2014.3001.5501icon-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博客​编辑https://blog.csdn.net/m0_63834988/article/details/132891434?spm=1001.2014.3001.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132891434?spm=1001.2014.3001.5501icon-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博客​编辑https://blog.csdn.net/m0_63834988/article/details/132890907?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/m0_63834988/article/details/132890907?spm=1001.2014.3001.5502icon-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博客​编辑https://blog.csdn.net/m0_63834988/article/details/132891652?spm=1001.2014.3001.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132891652?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132891652?spm=1001.2014.3001.5501

5. 3D等高线图(3D Contour Plot)

3d绘图类型(5)3D等高线图(3D Contour Plot)_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132891816?spm=1001.2014.3001.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132891816?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132891816?spm=1001.2014.3001.5501

6. 3D向量场图(3D Vector Field Plot)

3d绘图类型(6)3D向量场图(3D Vector Field Plot)_QomolangmaH的博客-CSDN博客​编辑https://blog.csdn.net/m0_63834988/article/details/132891976?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132891976?spm=1001.2014.3001.5501

7. 3D表面投影图(3D Surface Projection Plot)

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

8. 3D饼图(3D Pie Chart)

3d绘图类型(8)3D饼图(3D Pie Chart)_QomolangmaH的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132892244?spm=1001.2014.3001.5501

9. 3D等高线投影图(3D Contour Projection Plot)

3d绘图类型(9)3D等高线投影图(3D Contour Projection Plot)_QomolangmaH的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132906474?spm=1001.2014.3001.5501

10. 3D箱线图(3D Box Plot)

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 准备数据
np.random.seed(123)
x = np.random.normal(0, 1, 100)
y = np.random.normal(0, 1, 100)
z = np.random.normal(0, 1, 100)

# 创建3D图像对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 绘制3D Box Plot
ax.boxplot([x, y, z])

# 添加标签和标题
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('3D Box Plot')

# 显示图像
plt.show()

更多推荐

服务网格和CI/CD集成:讨论服务网格在持续集成和持续交付中的应用。

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

Hadoop:Hive操作(二):数据表操作,复杂数据类型,Sampling采样,虚拟列

数据表操作上接:Hadoop:YARN、MapReduce、Hive操作_独憩的博客-CSDN博客分桶表分桶表创建分区的作用可以把数据分成n个文件夹单独存放,而分桶表则可以把一个表的数据放在一个文件夹下,但是分成n个文件存放分区是将表拆分到不同的子文件夹中进行存储,而分桶是将表拆分到固定数量的不同文件中进行存储。分桶和

深入理解CI/CD流程:改变你的开发生命周期

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🦄博客首页——🐅🐾猫头虎的博客🎐🐳《面试题大全专栏》🦕文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》🐾学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》🐅学会Gol

Linux网络编程|TCP编程

一.网络基础1.1网络发展史Internet-“冷战”的产物1957年10月和11月,前苏联先后有两颗“Sputnik”卫星上天1958年美国总统艾森豪威尔向美国国会提出建立DARPA(DefenseAdvancedResearchProjectAgency),即国防部高级研究计划署,简称ARPA1968年6月DARP

互联网摸鱼日报(2023-09-20)

互联网摸鱼日报(2023-09-20)36氪新闻国货美妆这五年:押注头部主播,追求极致流量中遭反噬​处于水深火热之中的奈飞该如何自救?一头“灰犀牛”将冲击美国年轻人花钱的样子变了金V之后再推橙V,微博正试图重建创作者生态超级富豪们,盯上了“抗衰老”赛道不爱换手机爱换手机壳?年轻人的手机消费究竟怎么了?单届莱德杯吸金2.

开始为 Android 开发 PWA 或混合 Web 应用

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录PWA或混合Web应用的功能ApacheCordovaIonic通过安装所需工具开始使用Ionic使用IonicCordova和Angular创建新项目使用IonicCapacitor和Angular创建新项目

模板学堂|数据可视化仪表板大屏设计流程梳理

DataEase开源数据可视化分析平台于2022年6月正式发布模板市场(https://dataease.io/templates/)。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板,方便用户根据自身的业务需求和使用场景选择对应的仪表板模板,并在优质模板的基础上轻松制作自己的仪表板。目前,Dat

可视化图表组件之股票数据分析应用

股市是市场经济的必然产物,在一个国家的金融领域之中有着举足轻重的地位。在过去,人们对于市场走势的把握主要依赖于经验和直觉,往往容易受到主观因素的影响,导致决策上出现偏差。如今,通过数据可视化呈现,便可将历年数据和市场情报进行深度挖掘、分析,从中找到规律和趋势,帮助用户做出更准确的判断。回顾2022年A股市场的表现可谓是

Python爬虫从端到端抓取网页

网页抓取和RESTAPI简介网页抓取是使用计算机程序以自动方式从网站提取和解析数据的过程。这是创建用于研究和学习的数据集的有用技术。虽然网页抓取通常涉及解析和处理HTML文档,但某些平台还提供RESTAPI来以机器可读格式(如JSON)检索信息。在本教程中,我们将使用网络抓取和RESTAPI创建真实的数据集。如何运行代

Git学习笔记1

任务要求:1、使用git提交代码到仓库;2、实现自动代码发布系统;1、了解DevOps的发展历程和思想;2、学会git版本控制;3、会使用github公有仓库和gitlab私有仓库;4、了解CI/CD;5、使用jenkins实现自动发布;DevOps是一种实现Dev(开发)与Ops(运维)工作流有效联合的思想。最终目标

深入探索OCR技术:前沿算法与工业级部署方案揭秘

深入探索OCR技术:前沿算法与工业级部署方案揭秘注:以上图片来自网络1.OCR技术背景1.1OCR技术的应用场景OCR是什么OCR(OpticalCharacterRecognition,光学字符识别)是计算机视觉重要方向之一。传统定义的OCR一般面向扫描文档类对象,现在我们常说的OCR一般指场景文字识别(SceneT

热文推荐