我正在使用Gadfly在Julia中绘制数据。我有x =一个浮点数组,以及几个匹配长度的y1,y2,y3 ......如何在一张Gadfly图中以绿色,(x,y2)以红色等绘制所有点(x,y1)?
答案 0 :(得分:6)
您可以将数据放在DataFrame中,其中包含三列x
,y
和group
,并将该组用作颜色美学。
# Sample data
n = 10
x = collect(1:n)
y1 = rand(n)
y2 = rand(n)
y3 = rand(n)
# Put the data in a DataFrame
using DataFrames
d = DataFrame(
x = vcat(x,x,x),
y = vcat(y1,y2,y3),
group = vcat( rep("1",n), rep("2",n), rep("3",n) )
)
# Plot
using Gadfly
plot(
d,
x=:x, y=:y, color=:group,
Geom.point,
Scale.discrete_color_manual("green","red","blue")
)
正如评论中所建议的, 你也可以使用图层:
plot(
layer(x=x, y=y1, Geom.point, Theme(default_color=color("green"))),
layer(x=x, y=y2, Geom.point, Theme(default_color=color("red"))),
layer(x=x, y=y3, Geom.point, Theme(default_color=color("blue")))
)
答案 1 :(得分:0)