有两个色标ggplot

时间:2019-02-13 04:09:19

标签: r ggplot2

我正在尝试更改线条和点的颜色。我的数据被Arm分割,因此在每个时间点都应该有两个点和两条线将它们连接到上一个和将来的时间点。

我可以同时改变线条和点的颜色,但是我希望线条为不同的颜色,尽管它仍然基于Arm。如上所示,我希望对于Arm = 1的线条是浅蓝色,对于Arm = 2的线条是黄色,但是保持其颜色的点如下所示。 ggplot有可能吗?

任何帮助将不胜感激。

我所拥有的: enter image description here

代码:

ggplot(head(TOT, 12), aes(x=VisitNo, y=Mean)) +
  geom_line(size=1.5, aes(color=as.factor(Arm))) +
  geom_point(size=3, aes(color=as.factor(Arm))) +
  scale_colour_manual(values = c("blue", "orange")) +
  theme_bw()

数据:

TOT <- structure(list(Arm = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L), 
        VisitNo = structure(c(0L, 6L, 12L, 16L, 24L, 36L, 0L, 6L, 12L, 16L, 24L, 36L), 
        label = "VisitNo", class = c("labelled", "integer")), 
        variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), 
        .Label = c("PWB", "SWB", "EWB", "FWB", "AC"), class = "factor"), 
        Mean = c(25.3025326086957, 25.4365119047619, 25.8333333333333, 21.3452380952381, 
                 26, 26.8235294117647, 25.2272727272727, 25.6172839506173, 
                 25.6805555555556, 21.625976744186, 26.24, 26)), 
        row.names = c(NA, 12L), class = "data.frame")

1 个答案:

答案 0 :(得分:1)

如果只想使线条比点浅一点,可以使用alpha使线条稍微透明:

ggplot(head(TOT, 12), aes(x=VisitNo, y=Mean)) +
    geom_line(size=1.5, aes(color=as.factor(Arm)), alpha = 0.4) +
    geom_point(size=3, aes(color=as.factor(Arm))) +
    scale_colour_manual(values = c("blue", "orange")) +
    theme_bw()