matplotlib 直方图误差
时间: 2023-08-30 19:09:30 浏览: 109
在绘制 matplotlib 直方图时,有两种常用的误差表示方法:
1. 方差误差(variance error)
方差误差是指每个 bin 中值的方差,可以通过设置 histtype='bar' 和 yerr 参数实现。代码示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一组数据
x = np.random.normal(0, 1, size=1000)
# 绘制直方图
plt.hist(x, bins=20, histtype='bar', alpha=0.5, color='steelblue', edgecolor='none',
linewidth=1, density=True, label='data', align='left',
yerr=np.sqrt(np.histogram(x, bins=20)[0]))
# 设置图形属性
plt.xlabel('x')
plt.ylabel('frequency')
plt.title('Histogram')
plt.legend()
# 显示图形
plt.show()
```
2. 标准误差(standard error)
标准误差是指每个 bin 中值的标准误差,可以通过设置 histtype='bar' 和 yerr 参数实现。代码示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一组数据
x = np.random.normal(0, 1, size=1000)
# 绘制直方图
plt.hist(x, bins=20, histtype='bar', alpha=0.5, color='steelblue', edgecolor='none',
linewidth=1, density=True, label='data', align='left',
yerr=np.std(x) / np.sqrt(np.histogram(x, bins=20)[0]))
# 设置图形属性
plt.xlabel('x')
plt.ylabel('frequency')
plt.title('Histogram')
plt.legend()
# 显示图形
plt.show()
```
在上述代码中,yerr 参数的值为每个 bin 的方差或标准误差。如果数据量较大,标准误差更能反映数据的真实情况,因为标准误差受样本量的影响更小。
阅读全文