【发布时间】:2018-01-06 05:24:25
【问题描述】:
现在我希望蓝线是红色虚线,我希望红线是黑线。我已经使用以下代码来制作情节:
ggplot(data=SLLN, aes(x=X1, y=X2, group=1)) +
geom_line(aes(colour = "Variable name A")) +
geom_hline(aes(yintercept=theor_price, colour = "Variable name B")) +
geom_point(size=1) +
scale_x_log10(breaks = trans_breaks("log10", function(x) 10^x), #make log scale
labels = trans_format("log10", math_format(10^.x))) +
ylim(175, 250) +
scale_colour_hue(name="", l=30) +
(lightness=30)
scale_shape_manual(values=c(22,21)) +
scale_linetype_discrete() +
xlab("xlab") + ylab("ylab") +
ggtitle("Title name") +
theme_bw()+
theme(legend.background = element_rect(fill="transparent"),
legend.position=c(.85, .7))
当我删除 geom_line 和 geom_hline 中的 aes() 并将颜色参数更改为“黑色”和“红色”时,线条具有我想要的颜色,但它们从图例中消失了?我怎样才能保持现在的图像,所以与图例一样,只改变线条的颜色并使水平线虚线?
提前谢谢你!
【问题讨论】:
-
要获得图例,您需要将颜色映射放在
aes中。对于虚线:geom_hline(aes(yintercept=1, colour = "Variable name B"), lty=2)。要获得您想要的颜色,请去掉scale_colour_hue语句并添加scale_colour_manual(name="", values=c("black","red"))。 -
this SO answer 中的讨论可能有助于理解将东西放在内部或外部
aes之间的区别。