这个问题已被多次询问,我知道,但我仍然无法找到一个好的答案。我想得到一个漂亮的传说,在图上的单独图例中显示手动添加的线条。这是我到目前为止所知道的:
ReservationItems
给出:
手动添加了行,但没有传说条目。
添加library(ggplot2)
data(mtcars)
ggplot(mtcars, aes(x=disp, y=mpg, color=factor(am))) +
theme_bw() +
geom_point() +
geom_smooth(method = 'lm', se=FALSE) +
geom_abline(aes(intercept=40, slope = (-1/10))) +
geom_abline(aes(intercept=25, slope = (-1/30)))
并不是很有帮助:
show.legend=TRUE
为每个额外的行添加一个人工ggplot(mtcars, aes(x=disp, y=mpg, color=factor(am))) +
theme_bw() +
geom_point() +
geom_smooth(method = 'lm', se=FALSE) +
geom_abline(aes(intercept=40, slope = (-1/10)), show.legend = TRUE) +
geom_abline(aes(intercept=25, slope = (-1/30)), show.legend = TRUE)
也不是很有帮助:
fill
它只是发出警告并返回原始情节:
ggplot(mtcars, aes(x=disp, y=mpg, color=factor(am))) +
theme_bw() +
geom_point() +
geom_smooth(method = 'lm', se=FALSE) +
geom_abline(aes(intercept=40, slope = (-1/10), fill='Comparison Line 1')) +
geom_abline(aes(intercept=25, slope = (-1/30), fill='Comparison Line 2'))
添加Warning: Ignoring unknown aesthetics: fill
Warning: Ignoring unknown aesthetics: fill
和假aes show.legend=TRUE
会变得很近,但结果非常难看:
fill
最后,我的问题:
如何摆脱颜色图例中的对角线(标题为“factor(am)”),如何在填充图例(标题为“填充”)中的项目旁边显示正常的线条?
答案 0 :(得分:2)
你非常接近!
添加与geom_abline
相关的虚拟变量,例如size
到aes()
。并使用size
缩放scale_size_manual
。
library(ggplot2)
ggplot(mtcars, aes(x=disp, y=mpg, color=factor(am))) +
theme_bw() +
geom_point() +
geom_smooth(method = 'lm', se=FALSE) +
geom_abline(aes(intercept=40, slope = (-1/10), size='Comparison Line 1')) +
geom_abline(aes(intercept=25, slope = (-1/30), size='Comparison Line 2')) +
scale_size_manual(values = c(0.3, 0.3))
PS。:你正在使用的填充是abline的未知美学(ggplot2
警告你:Warning: Ignoring unknown aesthetics: fill
)。