Julia:不同颜色的散点图(使用 ColorGradient 或其他连续颜色编码)
Julia: scatter plot with different colors (using either ColorGradient or other continuous color encodings)
非常简单的问题,但我不太熟悉 ColorGradient
类型的工作方式,所以我想我会在这里问。
说我有一些 x, y
数据,我想用 scatter(x,y)
以标准方式绘制,我想根据颜色确定的颜色图用它们独特的颜色给点上色渐变(见下面的代码):
using Plots
C(g::ColorGradient) = RGB[g[z] for z=LinRange(0,1,30)]
g = :inferno
(来源:https://github.com/JuliaPlots/ExamplePlots.jl/blob/master/notebooks/cgrad.ipynb)
我将如何设置我的颜色渐变对象,然后使用它使用 scatter()
函数将我的每个 (x,y) 对映射到颜色渐变中的不同颜色?
我的猜测是这样的:
x, y = (rand(10), rand(10))
using Plots
C(g::ColorGradient) = RGB[g[z] for z=LinRange(0,1,10)]
g = :blue
scatter(x,y,c=cgrad(g)|> C)
我刚刚试过了,它起作用了,但我真的不明白为什么...这个 |> C
符号是什么??
获取剧情的最短路径是:
using Plots, Colors
scatter(x,y,c=colormap("Blues",10))
另一个值得一提的颜色图是点的颜色非常不同:
scatter(x,y,c=distinguishable_colors(10))
|>
运算符只是将参数传递给函数,因此您可以编写 f(x)
或 x |> f
。考虑以下示例:
julia> f(a,b=5) = a+b;
julia> 7 |> f
12
非常简单的问题,但我不太熟悉 ColorGradient
类型的工作方式,所以我想我会在这里问。
说我有一些 x, y
数据,我想用 scatter(x,y)
以标准方式绘制,我想根据颜色确定的颜色图用它们独特的颜色给点上色渐变(见下面的代码):
using Plots
C(g::ColorGradient) = RGB[g[z] for z=LinRange(0,1,30)]
g = :inferno
(来源:https://github.com/JuliaPlots/ExamplePlots.jl/blob/master/notebooks/cgrad.ipynb)
我将如何设置我的颜色渐变对象,然后使用它使用 scatter()
函数将我的每个 (x,y) 对映射到颜色渐变中的不同颜色?
我的猜测是这样的:
x, y = (rand(10), rand(10))
using Plots
C(g::ColorGradient) = RGB[g[z] for z=LinRange(0,1,10)]
g = :blue
scatter(x,y,c=cgrad(g)|> C)
我刚刚试过了,它起作用了,但我真的不明白为什么...这个 |> C
符号是什么??
获取剧情的最短路径是:
using Plots, Colors
scatter(x,y,c=colormap("Blues",10))
另一个值得一提的颜色图是点的颜色非常不同:
scatter(x,y,c=distinguishable_colors(10))
|>
运算符只是将参数传递给函数,因此您可以编写 f(x)
或 x |> f
。考虑以下示例:
julia> f(a,b=5) = a+b;
julia> 7 |> f
12