如何在Plots.jl中设置默认的颜色渐变

时间:2019-02-13 23:54:24

标签: julia plots.jl

在Julia的Total Words: 8 Large Words: 5 包中,我可以这样更改表面图的颜色:

Plots

如何更改默认的颜色渐变,这样就不必每次都放plot(mySurface,st=:surface,c=:blues) 了?

(相关的Plots doc page没有说明如何修改默认值。)

3 个答案:

答案 0 :(得分:0)

我在这里看到了可能的解决方案。 https://github.com/JuliaPlots/Plots.jl/issues/87

with(c = :blue) do
plot!(rand(5))
plot!(rand(5))
end

答案 1 :(得分:0)

请参阅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是注册表中Plots.jl软件包的UUID。

答案 2 :(得分:-1)

您应该使用the examples中的palettem关键字:

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")