简体   繁体   English

Python - 如何从预先计算的均值和置信区间得出 plot

[英]Python - How to plot from precalculated means and confidence intervals

assuming that I already have precalculated means and confidence intervals per year:假设我已经预先计算出每年的均值和置信区间:

df = pd.DataFrame(columns=["year", "mean", "lower CI", "upper CI"])
df["year"] = [2010, 2011, 2012, 2013]
df["mean"] = [4.6, 3.9, 3.9, 4.1]
df["lower CI"] = [4.3, 3.7, 3.7, 3.8]
df["upper CI"] = [4.9, 4.2, 4.1, 4.3]

How do I plot the custom confidence intervals on a bar chart (ie lower CI and upper CI) for each year?我如何 plot 条形图上的自定义置信区间(即较低的 CI 和较高的 CI)每年?

I have this, but it's not working:我有这个,但它不起作用:

import matplotlib.pyplot as plt
yerror = np.array(df["lower CI"].append(df["upper CI"]))
plt.errorbar(df["year"], df["mean"], yerror=yerror, capsize=5)

It's throwing an error, "AttributeError: 'Line2D' object has no property 'yerror'"它抛出一个错误,“AttributeError: 'Line2D' object 没有属性 'yerror'”

Many many thanks in advance.非常非常感谢。

Got it:知道了:

import matplotlib.pyplot as plt
lower = df["lower CI"].to_numpy()
upper = df["upper CI"].to_numpy()

yerror = [df["lower CI"].to_numpy(), df["upper CI"].to_numpy()]

plt.errorbar(df["year"], df["mean"], yerr=yerror, capsize=5)

Hope this helps someone:)希望这对某人有帮助:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM