同时绘制多数据直方图python代码实现
时间: 2024-10-25 22:18:02 浏览: 16
Python基于matplotlib绘制栈式直方图的方法示例
5星 · 资源好评率100%
在Python中,使用matplotlib库可以方便地同时绘制多数据集的直方图。这里是一个简单的例子,假设我们有三个数据列表:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设我们有三个数据列表
data1 = np.random.normal(0, 1, 1000)
data2 = np.random.normal(1, 2, 1000)
data3 = np.random.normal(-1, 1.5, 1000)
# 创建一个包含多个子图的网格
fig, axs = plt.subplots(1, 3, figsize=(12, 4), sharey=True) # `sharey=True`让y轴共享
# 绘制每个数据集的直方图
axs[0]..hist(data1, bins=20, alpha=0.6)
axs[1].hist(data2, bins=20, alpha=0.6)
axs[2].hist(data3, bins=20, alpha=0.6)
# 设置标题和标签
for ax in axs:
ax.set_title('Data Set {}'.format(ax.get_position().xmax + 0.1)) # 标题对应子图的顺序
ax.set_xlabel('Value')
ax.grid(True)
plt.tight_layout() # 调整子图间的间距
plt.show()
```
在这个例子中,我们首先创建了一个包含3个子图的网格,然后分别在每个子图上绘制了对应的数据集的直方图。最后设置了标题和一些基本的网格线。运行此代码,你会看到三个直方图并列在一起,直观地展示了各个数据集的分布特性。
阅读全文