目录
Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
| matplotlib | 3.5.3 | |
| numpy | 1.21.6 | |
| python | 3.7.16 |
python --version
- import sys
- import numpy as np
- import matplotlib
-
- print("Python 版本:", sys.version)
- print("NumPy 版本:", np.__version__)
- print("matplotlib 版本:", matplotlib.__version__)

Matplotlib是一个用于创建数据可视化的Python库。它提供了广泛的绘图选项,能够生成各种类型的图表、图形和可视化效果。下面是Matplotlib的一些主要功能:
绘图风格和类型:Matplotlib支持各种绘图风格和类型,包括线图、散点图、柱状图、饼图、等高线图、3D图等,可以根据需要选择适合的图表类型来展示和分析数据。
数据可视化:Matplotlib使得将数据转化为可视化表示变得简单,可以使用Matplotlib绘制图表来展示数据的分布、趋势、关系等,这有助于更好地理解数据和发现潜在的模式和关联。
图表自定义:Matplotlib提供了丰富的图表自定义选项,可以调整图表的标题、标签、坐标轴、线条样式、颜色等。这使得您能够创建符合特定需求和品味的高质量图表。
多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。
导出图像:Matplotlib支持将图像导出为多种格式,包括PNG、JPEG、PDF、SVG等。这使得您可以方便地将生成的图表保存为文件,或嵌入到文档、报告和演示文稿中。
无论是进行科学研究、数据分析、报告撰写还是可视化展示,Matplotlib都是一个强大而灵活的工具。它广泛应用于各个领域,如数据科学、机器学习、金融分析、工程可视化等。
- import matplotlib
-
- matplotlib.rcParams['font.family'] = 'Microsoft YaHei' # 设置为微软雅黑字体
- matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体
若不进行该设置,会报错字体缺失
- import matplotlib.pyplot as plt
- import numpy as np
-
- # 数据准备
- x = np.arange(3) # x轴位置
- y = np.arange(3) # y轴位置
- x_mesh, y_mesh = np.meshgrid(x, y) # 创建网格
- z = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 条形的高度
-
- # 创建3D图形对象
- fig = plt.figure()
- ax = fig.add_subplot(111, projection='3d')
-
- # 绘制3D条形图
- ax.bar3d(x_mesh.flatten(), y_mesh.flatten(), np.zeros_like(z).flatten(), 0.5, 0.5, z.flatten())
-
- # 设置坐标轴标签
- ax.set_xlabel('X')
- ax.set_ylabel('Y')
- ax.set_zlabel('Z')
-
- # 显示图形
- plt.show()
x和y数组分别表示条形的x和y轴位置。np.meshgrid函数创建了一个二维网格,将x和y数组扩展为与z数组相同的维度。ax.bar3d函数绘制了3D条形图。
x_mesh.flatten()、y_mesh.flatten()和np.zeros_like(z).flatten()参数分别表示条形的x、y和z轴位置。0.5和0.5参数表示条形的宽度和深度。z.flatten()参数表示条形的高度。ax.set_xlabel、ax.set_ylabel和ax.set_zlabel函数设置了坐标轴的标签。