【问题标题】:Changing colours of individual bars in a stacked barplot R更改堆叠条形图 R 中各个条形的颜色
【发布时间】:2020-01-29 11:02:00
【问题描述】:

我有不同细胞系感染水平(按严重程度分级为 1-3)的数据。我创建了一个堆叠的条形图,但是当我想按颜色分隔线条时,我只能更改所有条形的颜色。我希望 2 WT 有一个红色调色板,2 KO 有一个黄色调色板,而 AB 线有一个蓝色调色板。

我的数据如下所示:

我试过了,但它给了我下图:

inf.level<-read.csv("Infection_level.csv")

cols<-c("darkred", "red", "darksalmon", "darkorange3", "darkorange", "orange", "blue4", "blue", "cornflowerblue")

barplot(as.matrix(inf.level), ylab="Tsetse infection (%)", col=cols)]

任何帮助将不胜感激!

谢谢你:)

编辑输入(inf.level):

结构(列表(WT_MG = c(29.41176471,23.52941176, 11.76470588), WT_PV = c(21.42857143, 7.142857143, 14.28571429), KO_MG = c(5.555555556, 16.66666667, 33.33333333), KO_PV = c(0L, 0L, 0L), AB_MG = c(0, 28.57142857, 4.761904762), AB_PV = c(0, 0, 5.555555556)), .Names = c("WT_MG", "WT_PV", "KO_MG", "KO_PV", "AB_MG", "AB_PV"), class= "data.frame", row.names = c(NA, -3L))

【问题讨论】:

  • 图片是一种非常糟糕的发布数据(或代码)的方式。你能以dput 格式发布样本数据吗?请使用dput(inf.level) 的输出编辑问题

标签: r bar-chart stacked


【解决方案1】:

也许您可以单独为条形着色。我从这篇帖子here 中发现了一些想法。

将使cols 成为一个矩阵,其中包含不同条形的不同调色板。

cols<-matrix(c(rep(c("darkred", "red", "darksalmon"), 2),
               rep(c("darkorange3", "darkorange", "orange"), 2), 
               rep(c("blue4", "blue", "cornflowerblue"), 2)), 
             ncol = 6, nrow = 3)

inf.level.mat <- as.matrix(inf.level)

barplot(inf.level.mat, ylab="Tsetse infection (%)")

for (i in 1:ncol(inf.level.mat)) {
  x = inf.level.mat
  x[,-i] <- NA
  barplot(x, col = cols[,i], add=TRUE)
}

【讨论】:

    猜你喜欢
    • 2017-04-27
    • 2023-03-28
    • 2023-04-09
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2021-10-06
    • 1970-01-01
    相关资源
    最近更新 更多