Это тесно связано с вопросом another, который я только что спросил.Как избежать повторного использования цветов в штриховом шкафу для достижения разных цветов в каждой группе?
Это мои данные:
y <- structure(c(0.5619, 0.4381, 0.7587, 0.2413, 0.8764, 0.1236, 0.9019,
0.0981, 0.9481, 0.0519, 0.99, 0.01),
.Dim = c(2L, 6L), .Dimnames = list(c("FALSE", "TRUE"), NULL))
y
# [,1] [,2] [,3] [,4] [,5] [,6]
# FALSE 0.5619 0.7587 0.8764 0.9019 0.9481 0.99
# TRUE 0.4381 0.2413 0.1236 0.0981 0.0519 0.01
Оригинальный сюжет с же цветов в каждой группе (синий и красный):
barplot(y, horiz = TRUE, col = c("blue", "red"),
names.arg = c("Overall", paste("Flag", 5:1)), las = 1,
cex.names = 0.6,
main = "Proportion Dropped Given Each Sample Restriction")
Я хочу, чтобы изменить красные правые полосы для каждой группы, и вместо этого имеют разные цвета внутри каждой группы, что-то вроде:
поэтому я создал новый col
вектор с одним цветом для каждого сегмента бар:
barplot(y, horiz =TRUE,
col = c("blue", "gold",
"blue", "springgreen",
"blue", "orange",
"blue", "red",
"blue", "white",
names.arg = c("Overall", paste("Flag", 5:1)), las = 1,
cex.names = 0.6,
main = "Proportion Dropped Given Each Sample Restriction"))
Однако только первые два цвета в col
(синий и золото) используются, и они перерабатываются в 6 раз:
Есть ли способ получить вывод, который я ищу?
Не ответ на ваш вопрос, но однажды заметил подобную рециркуляцию цветов в 'stripchart' (см. [** здесь **] (http://stackoverflow.com/questions/22920381/different-coloring-of- group-in-r-plot/22923960 # 22923960) «Только столько цветов, которые необходимы для точек в одной строке (для цветов' col') или столбца (для цветов 'bg'), выбираются из цветового вектора, то они переработаны ». Для« barplot »это похоже на« Только столько цветов, которые необходимы для _bars_ в одном _column_ (для цветов 'col'), выбираются из цветового вектора, затем они перерабатываются». – Henrik
Красные цвета также перерабатываются. Крошечный пример: 'm <- matrix (1: 4, nrow = 2)'; 'cols <- c (« синий »,« красный »,« зеленый »,« желтый »)'; 'border <- c (« красный »,« синий »,« желтый »,« зеленый »)'; 'par (lwd = 6)'; 'barplot (m, col = cols, border = border)'. видимые обходы для «базы», но я не могу найти их правильно Теперь. Вы можете рассмотреть «ggplot» и «scale_fill_manual». – Henrik
Релевантные сообщения R-help [** здесь **] (https://stat.ethz.ch/pipermail/r-help/2011-July/284640.html) и [** здесь **] (https://stat.ethz.ch/pipermail/r-help/2007-March/126848.html). – Henrik