Plot 朱莉娅:不同颜色的散点图(使用颜色渐变或其他连续颜色编码)

Plot 朱莉娅:不同颜色的散点图(使用颜色渐变或其他连续颜色编码),plot,colors,julia,scatter-plot,color-scheme,Plot,Colors,Julia,Scatter Plot,Color Scheme,这个问题很简单,但我不太熟悉ColorGradient类型的工作方式,所以我想在这里提问 假设我有一些x,y数据,我想用scatter(x,y)以标准方式绘制这些数据,并且我想根据颜色渐变确定的颜色贴图(参见下面的代码),用它们独特的颜色给这些点上色: (来源:) 如何设置颜色渐变对象,然后使用scatter()函数将每个(x,y)对映射到颜色渐变中的不同颜色 我猜是这样的: x, y = (rand(10), rand(10)) using Plots C(g::ColorGradient)

这个问题很简单,但我不太熟悉
ColorGradient
类型的工作方式,所以我想在这里提问

假设我有一些
x,y
数据,我想用
scatter(x,y)
以标准方式绘制这些数据,并且我想根据颜色渐变确定的颜色贴图(参见下面的代码),用它们独特的颜色给这些点上色:

(来源:)

如何设置颜色渐变对象,然后使用
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
julia> f(a,b=5) = a+b;

julia> 7 |> f
12