gpt4 book ai didi

julia - 对 Gadfly 中绘图顺序的细粒度控制?

转载 作者:行者123 更新时间:2023-12-04 03:04:28 25 4
gpt4 key购买 nike

我正在创建一个看起来像这样的散点图:

using DataFrames
using Gadfly
using ColorBrewer
using Distributions
colors = palette("Set1", 4)
df1 = DataFrame(rand(Normal(0, 0.5), 1000,2))
df1[:x3] = :a
df2 = DataFrame(rand(Normal(-0.25, 0.25), 500,2))
df2[:x3] = :b
df3 = DataFrame(rand(Normal(0.25, 0.25), 500,2))
df3[:x3] = :c
df4 = DataFrame(rand(Normal(0, 0.25), 500,2))
df4[:x3] = :d
df = vcat(df1, df2, df3, df4)
plot(df, x=:x1, y=:x2, color=:x3, Geom.point, Scale.color_discrete_manual(colors..., levels=[:b, :c, :d, :a]),
Theme(highlight_width=0pt))

我希望按此顺序从前到后绘制点 [:d, :b, :c, :a]使得 :a 中的点数更多在后面。那么为什么我必须将顺序指定为 levels=[:b, :c, :d, :a]确实得到了我想要的结果。这里有什么不同?

enter image description here

此外,有趣的是,似乎顺序取决于使用的颜色!?尝试来自 ColorBrewer 的不同颜色导致不同的排序结果,这可能是一个错误。相关问题: https://github.com/dcjones/Gadfly.jl/issues/858

最佳答案

FWIW,我已经放弃了在使用 Gadfly 时完全控制哪些层覆盖哪些层的尝试。

也许这甚至很难做到,因为有时我完全相同的代码,运行两次,会产生两个略有不同的数字,其中一层覆盖另一层的顺序发生了变化,显然是随机的。至少当我通过 Gadfly.draw(PS(file, size...), p) 将输出图发送到 postscript 文件时会发生这种情况。 ,这是我通常做的。

当然,这在 future 可能会有所改善。我目前在 64 位 Windows 10 下的 Julia 0.5.0 中使用 Gadfly 0.5.2。

关于julia - 对 Gadfly 中绘图顺序的细粒度控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38020096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com