首页 > 解决方案 > Plotnine 中的误差线

问题描述

我有以下 Python plotnine 代码:

    ggplot(df)
    + geom_point(aes("Distance", "Force"), size=2)
    + geom_path(aes("xfit", "yfit"))

其中距离、力、xfit 和 yfit 只是我的数据框中的值列表。

这产生了这个情节:

在此处输入图像描述

我正在尝试将误差线添加到所有点。这样做的方法似乎是使用: + geom_errorbar()which in R with ggplot2 is very simple: geom_errorbar(ymin = Length - yerr, ymax = Length + yerr). 但是,我无法让它在 python 中与 plotnine 一起工作,而且似乎没有任何使用错误栏的代码示例。

这是有关该功能的文档。我发现它没有帮助。

标签: pythonplotnine

解决方案


GitHub 上的TyberiusPrime在这里回答了这个问题我将在下面粘贴答案,以防它由于某种原因从 GitHub 中消失。我问的问题和这里一样。

它在 plotnine 中同样直接,使用字符串而不是替代评估。请注意,您已在 geom_point 而不是绘图上定义了 aes,因此您必须告诉错误栏有关 x 值的信息。

from plotnine import *
import pandas as pd
df = pd.DataFrame({"Distance": [1,2,3], 'Force': [4,5.5,6], 'yerr': [0.1, 0.5, 3]})
ggplot(df) + geom_point(aes("Distance", "Force"), size=2) + geom_errorbar(aes(x="Distance", ymin="Force-yerr",ymax="Force+yerr"))

带有误差线的绘图


推荐阅读