Как установить цветовой градиент по умолчанию в Plots.jl - PullRequest
0 голосов
/ 14 февраля 2019

В пакете Джулии Plots я могу изменить цвет графика поверхности следующим образом:

plot(mySurface,st=:surface,c=:blues)

Как изменить градиент цвета по умолчанию, чтобы мне не нужно было ставить c=:blues каждый раз?

(на соответствующей странице документа Plots не указано, как изменить значение по умолчанию.)

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

Я видел возможное решение здесь.https://github.com/JuliaPlots/Plots.jl/issues/87

with(c = :blue) do
plot!(rand(5))
plot!(rand(5))
end
0 голосов
/ 28 апреля 2019

См. Подсказку из документации Julia Plots:

Совет: вы можете увидеть значение по умолчанию для данного аргумента с помощью default(arg::Symbol) и установить значение по умолчанию с помощью default(arg::Symbol, value) или default(; kw...).Например, установите размер окна по умолчанию и нужно ли отображать легенду с default(size=(600,400), leg=false).

http://docs.juliaplots.org/latest/basics/

Следовательно, вы можете установить желаемое значение по умолчанию с помощью

default(c=:blues)

Хотя вы, вероятно, хотите установить новое значение по умолчанию для fillcolor вместо seriescolor или его псевдонима c, поскольку seriescolor также повлияет на цвет графиков другого типа, и вы, вероятно, не захотите этого.

default(fillcolor=:blues)

Значение по умолчанию будет работать до тех пор, пока вы не установите другое значение по умолчанию или не перезапустите сеанс Julia.

Если вы хотите, чтобы новое значение по умолчанию работало даже после перезапуска Julia, вы можетехотите попробовать Requires.jl и файл запуска (~/.julia/config/startup.jl), например,

using Requires
@require Plots="91a5bcdd-55d7-5caf-9e0b-520d859cae80" Plots.default(fillcolor=:blues)

, где 91a5bcdd-55d7-5caf-9e0b-520d859cae80 - это UUID пакета Plots.jl вреестр.

0 голосов
/ 14 февраля 2019

Вы должны использовать ключевое слово palette или m, как показано в в примерах :

y = rand(100)
plot(0:10:100, rand(11, 4), lab="lines", w=3, palette=:grays, fill=0, α=0.6)
scatter!(y, zcolor=abs.(y .- 0.5), m=(:heat, 0.8, Plots.stroke(1, :green)), ms=10 * abs.(y .- 0.5) .+ 4, lab="grad")
...