1

我正在尝试在子图中绘制数据框不同列的直方图。

plt_count = 1
for i = names(abalone)[2:end]
    p[plt_count]=histogram(abalone[:,i])
    plt_count += 1
end
plot(p, layout=(3,3), legend=false)

这是我尝试过的。但我无法为数组提出正确的定义p。如何定义 p?

对代码的改进也会有所帮助。

4

1 回答 1

1

如果你不关心类型稳定性,你可以制作Any类型数组。

ps = Array{Any}(nothing, 3)
ps[1] = plot([2,3,4])
ps[2] = plot([1,5])
ps[3] = plot([10,5,1,0])

@show typeof(ps)
plot(ps..., layout=(3,1))

如果您想Plot专门创建一个类型的数组,一种方法是使用虚拟图初始化一个数组,然后稍后替换。

ps = repeat([plot(1)], 3)
ps[1] = plot([2,3,4])
ps[2] = plot([1,5])
ps[3] = plot([10,5,1,0])

@show typeof(ps)
plot(ps..., layout=(3,1))
于 2019-03-14T11:16:50.007 回答