Широкий диапазон одного цвета в R

Можно ли создать большое количество различных видов "красного" цвета. Для лучшего понимания ожидаю следующего, но вместо серого хочу "красный" или "красно-черный".

mypalette <- rev(grey.colors(10000, start = 0.1, end = 0.5, gamma = 4))
plot(1:length(mypalette),1:length(mypalette), col=mypalette, pch=16)

Наборы цветов, которые я знаю, имеют ограниченный диапазон цветов. Любая идея будет оценена.


person And_R    schedule 29.01.2014    source источник
comment
color.gradient(c(1, 1), c(1, 0), c(0, 0), nslices = 10) из plotrix пакета   -  person Zbynek    schedule 29.01.2014


Ответы (2)


Если я понимаю, что вы хотите, попробуйте colorRampPalette. Он возвращает функцию, которая выводит запрошенное количество цветов между двумя указанными вами.

reds <- colorRampPalette(c("black","red"))
reds(5)
[1] "#000000" "#3F0000" "#7F0000" "#BF0000" "#FF0000"
person James    schedule 29.01.2014
comment
Это было то, что я хотел! Большое спасибо. - person And_R; 29.01.2014

Вот несколько ggplot альтернатив

library(ggplot2)
df <- data.frame(x = rnorm(100), y = rnorm(100), z = rnorm(100), z2 = factor(1:5))

# colour set by continuous variable
ggplot(data = df, aes(x = x, y = y, colour = z)) +
  geom_point() +
  scale_colour_gradient(low = "red", high = "white")

введите здесь описание изображения

library(RColorBrewer)
ggplot(data = df, aes(x = x, y = y, colour = z)) +
  geom_point() +
  scale_colour_gradientn(colours = brewer.pal(5, "Reds"))

введите здесь описание изображения

# colour set by discrete variable
ggplot(data = df, aes(x = x, y = y, colour = z2)) +
  geom_point() +
  scale_colour_brewer(palette = "Reds")

введите здесь описание изображения

person Henrik    schedule 29.01.2014