在Julia中打印阵列时应用colormap

在Julia中打印阵列时应用colormap,julia,Julia,我试图在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应用地图,但没有成功。因此,这让我想知道:如何应用此颜色映射,使其正确跨越绘图条目的数量?是否希望每行使用不

我试图在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
应用地图,但没有成功。因此,这让我想知道:如何应用此颜色映射,使其正确跨越绘图条目的数量?

是否希望每行使用不同的颜色? 我想您正在寻找
调色板
参数

首先,根据Anshul在评论中的建议,基于viridis创建调色板(另一种方法见end)。 在最后一个代码中,11是行数

现在。 创建调色板的另一种方法是 我们使用该函数定义调色板
您还可以通过
Plots.palete(:viridis,11)
直接创建调色板。这避免了创建自定义函数的需要-最后一行变成
plot([1:10],rand(10,11);palete=palete(:viridis,11))
。太好了,@AnshulSinghvi,如果你同意的话,我可以将它添加到答案中。
julia> using Plots

julia> p = Plots.palette(:viridis, 11)
julia> plot( [1:10], rand(10,11), palette=p )
julia> C(g::ColorGradient) = RGB[ g[z] for z in range(0,stop=1,length=11) ]
julia> g = :viridis

julia> p = C(cgrad(g))