ggplot2 - 为多个图层

时间:2017-06-24 16:48:58

标签: ggplot2 manual vline

我有一个ggplot,其中我使用我的geom_points颜色作为我的一个列(我的处理)的函数,然后我使用scale_color_manual来选择颜色。

我自动使我的传奇正确

问题是我需要绘制一些与实验设置有关的水平线,我正在使用geom_vline,但后来我不知道如何手动添加单独的图例这并不是我已经拥有的那个,并说明那些线是什么。

我有以下代码

ggplot(dcons.summary, aes(x = meters, y = ymean, color = treatment, shape = treatment)) +
  geom_point(size = 4) +
  geom_errorbar(aes(ymin = ymin, ymax = ymax)) + 
  scale_color_manual(values=c("navy","seagreen3"))+
  theme_classic() + 
  geom_vline(xintercept = c(0.23,3.23, 6.23,9.23), color= "bisque3", size=0.4) +
  scale_x_continuous(limits = c(-5, 25)) +
  labs(title= "Sediment erosion", subtitle= "-5 -> 25  meters; standard deviation; consistent measurements BESE & Control", x= "distance (meters)", y="erosion (cm)", color="Treatment", shape="Treatment")

enter image description here

所以我只需要在"治疗"之后需要一个额外的传奇。一个说" BESE PLOTS LOCATION"这与灰线有关

我一直在寻找解决方案,我已尝试使用"scale_linetype_manual""guides",但我没有到达那里

1 个答案:

答案 0 :(得分:0)

由于您没有提供可重现的示例,我使用了mtcars数据集中的数据。 另外我稍微修改了this similar answer。由于您已经指定了颜色,此外填充因子在此处不起作用,您可以使用线型作为with open("enwik8","r") as data: words=data.read().split() vocabulary_size = 5000 count = [['UNK', -1]] count.extend(collections.Counter(words).most_common(vocabulary_size - 1)) count.extend(collections.Counter(words).most_common(vocabulary_size - 1)) 中的第二个参数,可以在图例中显示:

dictionary = dict()
for word, _ in count:

enter image description here

或没有第二个data.frame:

 dtoItem.LogIP = HttpContext.Connection.RemoteIpAddress.ToString();