采取下面的例子:GGPLOT2 - 控制线型当多于一个的线
library(ggplot2)
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
ggplot(dsamp, aes(x = x)) +
geom_line(aes(y = y, linetype = "Simple Model")) +
geom_line(aes(y = z, linetype = "Complex Model"))
确定。我的问题是我想要反转线型。我希望简单模型具有实线和复杂模型的虚线。默认情况下,字母顺序似乎是在这里决定线型。我曾尝试过使用scale_linetype_manual等不同的变体,但尝试一下,因为我可能无法让简单的线条变得坚实而复杂,并且同时在图例中保留“简单”的'复杂'标题。在有人提出这个建议之前,我试图避免对这些数据进行熔化/重塑,使得两个y变量都在1列中,因为真实数据在图中等等更多,而且它会非常复杂。
编辑:好的,谢谢Haboryme的回复。我发现了我的困惑之源。
看看下面的情节:
ggplot(dsamp, aes(x = x)) +
geom_line(aes(y = y, linetype = "Simple Model"), size = 1.5) +
geom_line(aes(y = z, linetype = "Complex Model"), size = 1.5) +
scale_linetype_manual(values=c(5, 1))
但是如果我将其更改为线型3:
ggplot(dsamp, aes(x = x)) +
geom_line(aes(y = y, linetype = "Simple Model"), size = 1.5) +
geom_line(aes(y = z, linetype = "Complex Model"), size = 1.5) +
scale_linetype_manual(values = c(3, 1))
嗯,我想这解决了我的问题 - 我只需要使用线型3.看起来线型5与1.5的大小只是不适合在传奇空间好?
我得到所需的输出'+ scale_linetype_manual(values = c(2,1))' – Haboryme
oooo ok你说得对。好的,在我的真实数据中发生了奇怪的事情。所以我在使用线型5时使用了2.在我的实际数据中,线型5的图例显示为实线而不是虚线。如果我使用线型2,则按上述方式工作。 Ok回头看看它是来自我在主题选项中完成的事情,我认为 – user2498193
您可以通过'+ guides(linetype = guide_legend(override.aes = list(size = 0.5))'在图例中更改行大小' – cuttlefish44