Python 如何将geom_hlines图例添加到plotnine中的绘图中?

Python 如何将geom_hlines图例添加到plotnine中的绘图中?,python,r,plotnine,Python,R,Plotnine,我想在我的情节中添加一个图例,其中包含hline的所有统计信息描述。有什么办法吗 在大多数情况下,当您发现自己与图例发生冲突时,这表明您正在绘制的数据没有得到有意义的安排。图例旨在帮助解释映射的变量。在您的案例中,所有这些水平线都可以用一个变量表示,即“年龄统计” 然后,解决方案是将它们放在一个数据框中,并使用对geom_hline的一次调用,以便绘图系统可以处理图例 sdf=pd.DataFrame({ “年龄统计”:[ “平均值”、“中值”、“IQR”, “第10百分位”、“第90百分位”

我想在我的情节中添加一个图例,其中包含hline的所有统计信息描述。有什么办法吗


在大多数情况下,当您发现自己与图例发生冲突时,这表明您正在绘制的数据没有得到有意义的安排。图例旨在帮助解释映射的变量。在您的案例中,所有这些水平线都可以用一个变量表示,即“年龄统计”

然后,解决方案是将它们放在一个数据框中,并使用对
geom_hline
的一次调用,以便绘图系统可以处理图例

sdf=pd.DataFrame({
“年龄统计”:[
“平均值”、“中值”、“IQR”,
“第10百分位”、“第90百分位”,
“性病”
],
“价值”:[
test.age.mean(),test.age.median(),IQR,
测试[‘年龄’]分位数(0.1),测试[‘年龄’]分位数(0.9),
测试['age'].std()
]
})
(ggplot(…)
...
+geom_hline(sdf,aes(yintercept='value',color='age'u statistic'),show_legend=True)
)

可能会有帮助。In R工作得很好,但在python中,在“override.aes”处显示错误
def test_plot():
Q1=test['age'].quantile(0.25)
Q3=test['age'].quantile(0.75)
IQR=Q3-Q1
fig = (
    ggplot(test) +
    aes(x=arr,y='age')+
    geom_point()+
    labs(
        title='Test',
        x='Index',
        y='Age',
        )+
    geom_hline(aes(yintercept =test.age.mean(),),color = 'gray')+
    geom_hline(aes(yintercept =test.age.median()),color = 'green')+
    geom_hline(aes(yintercept =IQR),color = 'blue')+
    geom_hline(aes(yintercept =test['age'].quantile(0.1)),color= 'red')+
    geom_hline(aes(yintercept =test['age'].quantile(0.9)),color= 'yellow')+
    geom_hline(aes(yintercept =test['age'].std()),color= 'purple')

    )