我正在使用 Gadfly 在 Julia 中绘制数据。我有 x = 一个浮点数组,以及几个匹配长度的 y1, y2, y3 ...。如何在一个牛虻图中以绿色绘制所有点 (x,y1),以红色绘制 (x,y2) 等?
问问题
3432 次
2 回答
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")))
)
于 2014-12-10T02:05:55.983 回答
0
这种东西很简单,我的包https://github.com/tbreloff/Plots.jl:
julia> using Plots; scatter(rand(10,3), c=[:green,:red,:blue])
于 2015-10-04T14:23:41.130 回答