Меня интересует наличие "хорошей" расходящейся цветовой палитры. Очевидно, можно использовать только красный, белый и синий:
img <- function(obj, nam) {
image(1:length(obj), 1, as.matrix(1:length(obj)), col=obj,
main = nam, ylab = "", xaxt = "n", yaxt = "n", bty = "n")
}
rwb <- colorRampPalette(colors = c("red", "white", "blue"))
img(rwb(100), "red-white-blue")
Поскольку я недавно влюбился в цветовые палитры viridis, я надеялся совместить виридис и магму, чтобы сформировать такие расходящиеся цвета (конечно, цветные слепые люди будут видеть только абсолютное значение цвета, но иногда это нормально).
Когда я пытался комбинировать viridis и magma, я обнаружил, что они не "заканчиваются" (или "начинают" ) в одном и том же месте, поэтому я получаю что-то вроде этого (я использую R, но это, вероятно, будет то же самое для пользователей python):
library(viridis)
img(c(rev(viridis(100, begin = 0)), magma(100, begin = 0)), "magma-viridis")
Мы видим, что при близком к нулю виридие является фиолетовым, а магма черным. Я хотел бы, чтобы они оба начали (более или менее) одно и то же место, поэтому я попытался использовать 0.3 в качестве отправной точки:
img(c(rev(viridis(100, begin = 0.3)), magma(100, begin = 0.3)), "-viridis-magma(0.3)")
Это действительно лучше, но мне интересно, есть ли лучшее решение.
(Я также "помещаю" пользователей python, так как viridis изначально из matplotlib
, поэтому кто-то из них может знать о таком решении)
Спасибо!