首页 > 解决方案 > 如何在 Julia 中分组绘制多个系列?

问题描述

我正在尝试在 Julia 中绘制大量线系列,并且我想使用两种颜色来区分两组。

使用下面的代码,它使用一个小数据集,我得到以下信息:

using Plots
toy = rand(10, 5)
color = rand(0:1, 5)
full = vcat(toy, color')

plot(full, label = color)

在此处输入图像描述

我想要做的是只有两种颜色,对应于“颜色”{0, 1} 中的值。我怎样才能做到这一点?

PS:我看到 matplotlib 的一个类似问题:如何绘制按不同颜色分组的多个时间序列?

标签: plotjulia

解决方案


您是否尝试过color关键字参数?

plot(full; color=color', title="colors = $color")

给我

在此处输入图像描述

PS1:如果你想要默认的第一种和第二种颜色,你的color值必须从 1 开始,这样

plot(full; color=color' .+ 1, title="colors = $color")

给我

在此处输入图像描述

PS2:如果你想更多地控制颜色,你也可以这样做,例如,

plot(full; color=([RGB(1,0,0), RGB(0,1,0)][color .+ 1])', title="colors = $color")

给我

在此处输入图像描述


推荐阅读