假设我已经预先计算了每年的平均值和置信区间:
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]
如何在条形图上绘制每年的自定义置信区间(即较低CI和较高CI(?
我有这个,但它不起作用:
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)
这是一个错误,";AttributeError:"Line2D"对象没有属性"yeror">
非常感谢。
明白了:
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)
希望这能帮助到某人:(