Matplotlib 是 Python 的一个绘图库,它提供了一个类似于 MATLAB 的绘图系统。使用 Matplotlib,我们可以生成各种静态、动态、交互式的图表。
plot 二维图
折线图是数据可视化中最基本的图表之一,用于展示数据随时间或其他连续变量变化的趋势。
import matplotlib.pyplot as plt
import numpy as np
# 生成数据:x 为0到10之间的100个点,y 为x的正弦值
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 绘制折线图
plt.plot(x, y)
plt.title("正弦波") # 图表标题
plt.xlabel("x") # x轴标签
plt.ylabel("sin(x)") # y轴标签
plt.grid(True) # 显示网格
plt.show() # 显示图表
plt.plot(x, np.sin(x), x, np.sin(2 * x));
使用字符串,给定特定线条参数
plt.plot(x, np.sin(x), 'r-^', x, np.sin(2 * x));
plt.plot(x, np.sin(x), 'r-^', x, np.sin(2 * x), 'b-o');
scatter 散点图
散点图用于展示两个变量之间的关系,每个点代表一个数据点的两个维度。
x = np.random.rand(100) # 生成随机数据
y = np.random.rand(100) # 生成随机数据
size = np.random.rand(100) * 30 # 点的大小
color = np.random.rand(100) # 颜色值
plt.scatter(x, y, size, color) # 绘制散点图
plt.colorbar() # 显示颜色条
plt.show()
多图
在一张图表中展示多个子图,可以更好地比较数据。
# 创建两个子图,上下排列
plt.subplot(2, 1, 1) # (行数, 列数, 子图编号)
plt.plot(x, y, 'r--') # 红色虚线
plt.title("pic_1")
plt.subplot(2, 1, 2)
plt.scatter(x, y, alpha=0.5) # 半透明散点图
plt.title("pic_2")
plt.tight_layout() # 调整子图间距
plt.show()
向图中添加数据
在图表中添加额外的数据点或标注,可以帮助解释数据。
plt.plot(x, y, label='sin(x)')
plt.scatter([np.pi/2], [1], color='red') # 突出显示一个点
plt.text(np.pi/2, 1.05, 'sin(pi/2)', fontsize=9, ha='center') # 在特定点旁添加文本
plt.legend() # 显示图例
plt.show()
直方图
直方图用于展示数据的分布情况。
data = np.random.randn(1000) # Generate normal distributed data
plt.hist(data, bins=30, alpha=0.5, color='steelblue', edgecolor='black')
plt.title("Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
通过这些基本的示例,你可以开始使用 Matplotlib 来探索和展示你的数据了。随着你对 Matplotlib 的进一步学习,你将能够创建更复杂和美观的图表。
最后
欢迎关注我的微信公众号, 一起交流学习!!!