目录
一、前言
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
- Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
- Numpy:数组创建、数组操作、数组数学、广播
- Matplotlib:2d绘图、3d绘图、图表自定义、多子图和布局、图表自定义、多子图和布局
- IPython:创建笔记本、典型工作流程
二、实验环境
matplotlib | 3.5.3 | |
numpy | 1.21.6 | |
python | 3.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详解
1、2d绘图类型
2d绘图(上):折线图、散点图、柱状图、直方图、饼图_QomolangmaH的博客-CSDN博客https://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
2、3d绘图类型
0. 设置中文字体
import matplotlib
matplotlib.rcParams['font.family'] = 'Microsoft YaHei' # 设置为微软雅黑字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体
若不进行该设置,会报错字体缺失
1. 线框图(Wireframe 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)
用于可视化三维数据的散点图,通过在三维空间中绘制数据点来展示数据的分布。
import matplotlib.pyplot as plt
import numpy as np
# 数据准备
x = np.random.rand(100) # x轴数据
y = np.random.rand(100) # y轴数据
z = np.random.rand(100) # z轴数据
colors = np.random.rand(100) # 颜色数据
# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D散点图
ax.scatter(x, y, z, c=colors, cmap='viridis', marker='o')
# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
# 显示图形
plt.show()
x
、y
和z
数组分别存储了散点的 x、y 和 z 坐标数据colors
数组存储了每个散点的颜色数据。- 创建了一个3D图形对象,并将其添加到子图中。
- 使用
ax.scatter
函数创建了3D散点图。- 我们通过传递
x
、y
和z
参数来指定每个散点的位置。 c
参数指定了散点的颜色,可以使用一个数值数组来表示不同的颜色值。cmap
参数指定了颜色映射,这里我们使用了viridis
颜色映射。marker
参数指定了散点的形状,这里我们使用了圆形。
- 我们通过传递
- 使用
ax.set_xlabel
、ax.set_ylabel
和ax.set_zlabel
函数设置了坐标轴的标签。