Применить цветовую карту при построении массива в Julia - PullRequest
2 голосов
/ 17 июня 2020

Я пытаюсь применить цветовую карту при построении массива чисел в Julia 1.4.1, но все записи графика, похоже, используют только первый цвет на карте. Например:

using Plots

plot([1:10], rand(10,5), c=:viridis)

Цвета не меняется, даже когда я увеличиваю количество записей графика до 1000:

plot([1:10], rand(10,1000), c=:viridis)

Я пытался применить карту, используя color или cgrad тоже, но безуспешно. Это заставляет меня задуматься: как я могу применить эту цветовую карту, чтобы она правильно охватывала количество записей графика?

1 Ответ

3 голосов
/ 17 июня 2020

Вы хотите, чтобы каждая строка использовала свой цвет? Я думаю, вы ищете аргумент palette.

Сначала создайте цветовую палитру на основе viridis, как предлагает Аншул в комментариях (альтернативный метод см. В конце).

julia> using Plots

julia> p = Plots.palette(:viridis, 11)

В последнем коде 11 - это количество строк

Теперь, давайте построим график с использованием аргумента palette .

julia> plot( [1:10], rand(10,11), palette=p )

Альтернативный метод для создания palette is создание функции цветового градиента

julia> C(g::ColorGradient) = RGB[ g[z] for z in range(0,stop=1,length=11) ]

Мы определяем палитру, используя эту функцию

julia> g = :viridis

julia> p = C(cgrad(g))
...