3

我有两层我想绘制为Geom.point. 从Gadfly 文档中,我相信这应该是可能的,尽管该示例仅涵盖图层 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 图层?如果是,那么我该如何为每一层设置不同的美学?

4

1 回答 1

4

Gadfly 期望 x 和 y 是向量,因此无法绘制标量。

除了为每个图层提供单独的字符串以获得不同Theme的颜色之外,您还可以使用手动更改颜色,例如:Theme(default_color=color("red"))

于 2014-05-22T20:00:30.247 回答