有几个人询问,当曲线因选择要绘制的行而不同时,如何在多条曲线中添加图例ggplot2
或为多条曲线添加图例。plotnine
典型的答案是将数据重新格式化为整齐的数据。一些示例位于此处、此处和此处。
我需要多行不是因为对数据进行子集化,而是因为我想比较平滑方法。所有线路的数据都相同,因此上述答案没有帮助。
后两个答案指出,在R 中,可以通过将说明符移动到内部ggplot2
来创建图例。这里详细描述了这一点,这与我想要做的类似。color
aes(...)
这也应该起作用plotnine
吗?我尝试了一个类似于上一个链接的示例。没有图例它工作正常:
from plotnine import *
from plotnine.data import *
(ggplot(faithful, aes(x='waiting'))
+ geom_line(stat='density', adjust=0.5, color='red')
+ geom_line(stat='density', color='blue')
+ geom_line(stat='density', adjust=2, color='green')
+ labs(title='Effect of varying KDE smoothing parameter',
x='Time to next eruption (min)',
y='Density')
)
但当我为了获得传奇color而进入时,它失败了:aes
from plotnine import *
from plotnine.data import *
(ggplot(faithful, aes(x='waiting'))
+ geom_line(aes(color='red'), stat='density', adjust=0.5)
+ geom_line(aes(color='blue'), stat='density')
+ geom_line(aes(color='green'), stat='density', adjust=2)
+ labs(title='Effect of varying KDE smoothing parameter',
x='Time to next eruption (min)',
y='Density')
+ scale_color_identity(guide='legend')
)
这给出了错误 PlotnineError: "Could not evaluate the 'color' mapping: 'red' (original error: name 'red' is not defined)"。
关于如何添加图例有什么建议吗?谢谢。
白猪掌柜的
FFIVE
相关分类