python - 在条形图上使用 yerr() 绘制标准误差(std/sqrt(N))
问题描述
我对 Python 很陌生。我正在尝试为样本数据绘制箱形图
我正在尝试绘制共享数据平均值的箱线图。我得到了那部分代码。我还尝试使用在此箱形图上绘制标准误差值yerr()
。
我的代码:
data3=pd.read_csv('demo1.csv')
names=['brow', 'harr', 'hage', 'buch', 'mcre']
d=[data3['brow'].mean(),data3['harr'].mean(),data3['hage'].mean(),data3['buch'].mean(),data3['mcre'].mean()]
N=len(data3['co'])
l=math.sqrt(N)
k=[(data3['brow'].std())/l,(data3['harr'].std())/l,(data3['hage'].std())/l,(data3['buch'].std())/l,(data3['mcre'].std())/l,(data3['phil'].std())/l,(data3['moor'].std())/l]
fig, ax = plt.subplots()
plt.bar(names,d)
plt.bar(len(names),d,yerr=k,align='center',alpha=0.5,ecolor='black',capsize=10)
但我希望黑线与每个条形图相对,而不是作为图中的新条,将它们全部放在一起。我该如何改变这一点。我是否以错误的方式使用 plt?请帮忙。
解决方案
我不明白你在第二次打电话时想做什么plt.bar()
import math
names=['brow', 'harr', 'hage', 'buch', 'mcre']
data3 = pd.DataFrame({n: np.random.normal(loc=np.random.randint(5,10), scale=np.random.randint(1,10), size=(100,)) for n in names})
d=data3[names].mean()
N=100
l=math.sqrt(N)
k=data3[names].std()/l
fig, ax = plt.subplots()
plt.bar(names,d,yerr=k,align='center',alpha=0.5,ecolor='black',capsize=10)
推荐阅读
- c# - 基于来自其他图像的调色板将位图图像转换为数组
- angular - Angular 测试反应式表单验证服务方法在方法内部获取控件
- python - Python:如何将值向量化插入到 list/np.array 中(以给定的概率)?
- c - Memleak 演示没有获得常驻内存
- python - 等敏感曲线绘制python
- excel - 数据透视图 --> 使用不同过滤器时崩溃
- google-bigquery - BigQuery UI 在查看特定视图时崩溃
- awk - 试图在 jq 中重现 awk
- phantomjs - 无法将 PhantomJS 与 ReadyAPI v3.9.1 集成
- r - 下载数据并添加到 Glob.Env