Я построил столбчатую диаграмму в основании R:
set.seed(12)
dat <- matrix(sample(1:6, 6) , nrow = 3)
rownames(dat) <- c("A", "B", "C")
colnames(dat) <- c("blue", "green")
barplot(dat, beside = TRUE)
Я бы хотел
- назначить один цвет каждой группе баров и
- измените яркость (от черного к цвету) в зависимости от длины полосы, чтобы полоса длины 6 имела полный цвет.
вот так:
![enter image description here](https://i.stack.imgur.com/hH5BM.png)
Как мне этого добиться?
Я адаптировал ответ @ nya следующим образом:
set.seed(12)
dat <- matrix(sample(1:6, 6) , nrow = 3)
rownames(dat) <- c("A", "B", "C")
colnames(dat) <- c("blue", "green")
sequence <- seq(1, 6, 1) # min = 1, max = 6, steps = 1
resolution <- length(sequence)
blues <- colorRampPalette(c("black", "blue"))(resolution)
greens <- colorRampPalette(c("black", "green"))(resolution)
cols <- c(blues[match(dat[, "blue"], sequence)],
greens[match(dat[, "green"], sequence)])
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(2, 0, -2, 0))
barplot(dat, beside = TRUE, col = cols)
![enter image description here](https://i.stack.imgur.com/NN4ix.png)