我有两层我想绘制为 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 图层?如果是,那么我该如何为每一层设置不同的美感?

最佳答案

Gadfly 期望 x 和 y 是向量,因此绘制标量将不起作用。

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

关于julia - 在 Gadfly 中绘制两个 "slang of graphics"层,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23812325/

10-12 01:19