📅  最后修改于: 2023-12-03 14:51:05.339000             🧑  作者: Mango
Matplotlib 是一个用于绘制各种静态、动态、交互式图表的 Python 库。它最初是 John D. Hunter 在他的博士论文中开发的,目的是提供能够在 Python 中生成高品质图表的工具。Matplotlib 的优点包括支持各种图表类型、可自定义的图表样式、易于使用及兼容 NumPy 数学库。
使用 pip 安装 Matplotlib:
pip install matplotlib
下面是 Matplotlib 的基本示例,可以用它绘制一条简单的正弦曲线。
import numpy as np
import matplotlib.pyplot as plt
# 定义 x 轴范围
x = np.linspace(-np.pi, np.pi, 100)
# 计算 sin(x) 和 cos(x)
sin_y = np.sin(x)
cos_y = np.cos(x)
# 绘制 sin(x) 曲线
plt.plot(x, sin_y, label='sin(x)')
# 绘制 cos(x) 曲线
plt.plot(x, cos_y, label='cos(x)')
# 设置图表标题
plt.title('Sin(x) and Cos(x)')
# 设置 x 轴标签
plt.xlabel('X-axis')
# 设置 y 轴标签
plt.ylabel('Y-axis')
# 添加图例
plt.legend()
# 展示图表
plt.show()
运行结果:
散点图
x = np.random.randn(1000)
y = np.random.randn(1000)
plt.scatter(x, y)
直方图
x = np.random.randn(1000)
plt.hist(x, bins=50)
条形图
data = {'apple': 10, 'orange': 5, 'lemon': 8}
plt.bar(range(len(data)), list(data.values()), align='center')
plt.xticks(range(len(data)), list(data.keys()))
箱型图
data = np.random.randn(100, 5)
plt.boxplot(data)
饼图
data = {'apple': 10, 'orange': 5, 'lemon': 8}
plt.pie(list(data.values()), labels=list(data.keys()))
线性回归曲线
x = np.linspace(-np.pi, np.pi, 100)
y = 2 * x + 1 + np.random.randn(100) * 0.3
plt.plot(x, y, 'o')
from scipy.optimize import curve_fit
def linear_func(x, a, b):
return a * x + b
params, _ = curve_fit(linear_func, x, y)
plt.plot(x, linear_func(x, *params), 'r-')
Matplotlib 是一个非常强大的数据可视化库。本文介绍了一些基本示例,还有很多更丰富的用例可以尝试。如果你想学习更多的 Matplotlib 用法,可以查看官方文档: