我想要将两个图层绘制为Geom.point
。从Gadfly documentation开始,我相信这应该是可能的,尽管该示例仅涵盖了Geom类型层不同的情况。但是,当我尝试这个时(Julia 0.3.0-prerelease + 2584,Gadfly v0.2.8)它会抛出一个错误:
x = [83, 71, 79, 71, 73, 66, 78, 70, 69, 84, 59, 66, 73]
y = [59, 47, 33, 68, 56, 61, 51, 45, 50, 44, 60, 62, 50]
ox = 74
oy = 49
plot(layer(x=x, y=y, Geom.point),
layer(x=ox, y=oy, Geom.point))
# BoundsError()
# in eval_plot_mapping at /Users/peter/.julia/v0.3/Gadfly/src/Gadfly.jl:317
# in render at /Users/peter/.julia/v0.3/Gadfly/src/Gadfly.jl:448
# in writemime at /Users/peter/.julia/v0.3/Gadfly/src/Gadfly.jl:753
# in sprint at io.jl:460
# in display_dict at /Users/peter/.julia/v0.3/IJulia/src/execute_request.jl:35
最终,我还想手动指定图层的美感(例如Geom.point(color="red")
。
我是否遗漏了关于图形俚语的内容,或者俚语中不支持两种相同类型的Geom图层?如果是,那我怎样才能为每一层设置不同的美学?
答案 0 :(得分:4)
Gadfly希望x和y是向量,因此绘制标量将不起作用。
除了为每个图层提供单独的字符串以获得不同的颜色外,您还可以使用Theme
手动更改颜色,例如:Theme(default_color=color("red"))