为什么Boxplot轮廓不会在ggplot / R中更改颜色

时间:2019-05-13 15:59:16

标签: r ggplot2

我希望在箱形图周围应用与箱形图填充相同的轮廓颜色。该图当前看起来像这样:

enter image description here

并写有以下内容:

n <- ggplot(kirecur, aes(ki67in, time.yr, fill = factor(ki67in))) +
  geom_boxplot(aes(group = cut_width(ki67in, 1))) +
  guides(fill=guide_legend(title="ki67in"))

n +     scale_alpha_manual(values=c(0.6,0.1,0.2)) + 
        scale_fill_manual(values=c("forestgreen","red","orange")) +
        scale_colour_manual(values=c("forestgreen","red","orange"))

我添加了scale_colour_manual(values=c("forestgreen","red","orange")),但这似乎不起作用。

My data
kirecur <- structure(list(time.yr = c(0.25, 0.333333333333333, 0.333333333333333, 
0.416666666666667, 0.5, 0.583333333333333, 0.666666666666667, 
0.666666666666667, 0.666666666666667, 0.75, 1, 1.25, 1.41666666666667, 
3.16666666666667, 3.25, 4.08333333333333, 4.41666666666667, 4.5, 
4.66666666666667, 4.75, 4.83333333333333, 4.83333333333333, 5, 
6.16666666666667, 7.41666666666667, 7.5, 7.66666666666667, 9.83333333333333, 
10.3333333333333), ki67in = structure(c(1, 2, 1, 1, 0, 2, 2, 
0, 2, 1, 0, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
0), class = "AsIs")), .Names = c("time.yr", "ki67in"), class = "data.frame", row.names = c(16L, 
20L, 22L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 32L, 35L, 40L, 53L, 
54L, 60L, 64L, 65L, 67L, 70L, 71L, 72L, 74L, 87L, 111L, 112L, 
116L, 159L, 171L))

1 个答案:

答案 0 :(得分:3)

如果要自定义颜色或Alpha,则需要在color =调用中添加参数alpha =ggplot()

kirecur %>% 
  mutate(ki67in = factor(ki67in)) %>% 
  ggplot(aes(ki67in, time.yr, fill = ki67in, alpha = ki67in, color = ki67in)) +
    geom_boxplot(aes(group = cut_width(ki67in, 1))) +
    scale_alpha_manual(values = c(0.6,0.1,0.2)) + 
    scale_fill_manual(values = c("forestgreen","red","orange")) +
    scale_colour_manual(values = c("forestgreen","red","orange"))

enter image description here