【问题标题】:R boxplot color not changingR箱线图颜色不变
【发布时间】:2020-07-20 17:22:14
【问题描述】:

我在 R 中制作了一个盒须图(y 轴读取次数和 4 个离散条件的 x 轴)。我正在尝试切换离散条件出现的顺序,并使用下面的代码将它们从默认的白色填充更改为我选择的颜色。我可以更改订单,但颜色继续保持白色。我也不知道为什么 R 会中断我的情节。

library(ggplot2)
capture_data = read.csv("tcp_for_r_plots.csv")
p <- ggplot(capture_data, aes(x=Protocol, y=raw_reads)) + geom_boxplot()
p <- p + scale_x_discrete(limits=c("Standard","TD-60","TD-55","TD-50"))
p <- p + scale_fill_manual(values=c("#999999","#FFFF00","#33FFFF","#FF33CC"))

附件是我不断得到的输出 - 没有颜色变化。

【问题讨论】:

标签: r ggplot2


【解决方案1】:
p <- ggplot(capture_data, aes(x=Protocol, y=raw_reads, fill=Protocol)) + 
  geom_boxplot() + 
  scale_x_discrete(limits=c("Standard","TD-60","TD-55","TD-50")) + 
  scale_fill_manual(values=c("#999999","#FFFF00","#33FFFF","#FF33CC"))

【讨论】:

  • 错误是错过了fill参数。你应该用文字来解释,而不仅仅是代码。
【解决方案2】:

在ggplot的“填充”参数中添加颜色:

p <- ggplot(capture_data, aes(x=Protocol, y=raw_reads)) + geom_boxplot()

应该是

p <- ggplot(capture_data, aes(x=Protocol, y=raw_reads, fill = Protocol)) + geom_boxplot()

例如,

 ggplot(mtcars, aes(x= as.factor(cyl), y=mpg, fill=as.factor(cyl))) + geom_boxplot()

给我

【讨论】:

    【解决方案3】:
    • 填充颜色:您需要在geom_boxplot()函数中添加fill选项,如下所示(而不是使用scale_fill_manual函数):
    + geom_boxplot(fill=c("#999999","#FFFF00","#33FFFF","#FF33CC"))
    
    • 顺序:顺序基于因子值的字母顺序(协议)。一种解决方案是在运行生成图之前将因子水平重新编码为您想要的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-06
      • 1970-01-01
      • 2016-12-09
      • 2013-12-06
      • 2017-06-19
      • 1970-01-01
      • 2020-06-27
      相关资源
      最近更新 更多