dataframe - 如何从 Julia 的数据框中获取多个直方图

标签 dataframe plot julia histogram statsplots

我有一个 julia 数据框,我想将每一列绘制为直方图,但最终只显示最后一列。我正在使用 StatsPlot。是否有更好的绘图包可用于此目的?

using StatsPlots
@df df histogram(:x1)
@df df histogram(:x2)
@df df histogram(:x3)
@df df histogram(:x4)
@df df histogram(:x5)
@df df histogram(:x6)
@df df histogram(:x7)
@df df histogram(:x8)
@df df histogram(:x9)
@df df histogram(:x10)
@df df histogram(:x11)
@df df histogram(:x12)
@df df histogram(:x13)
@df df histogram(:x14)

最佳答案

正如 Bogumil 在他的评论中所说,您所追求的输出并不完全清楚,但我可以看到两种可能的方式:
如果你想为每一列有一个单独的子图,你可以广播 histogram调用您想要的列,例如:

julia> using Plots, DataFrames

julia> df = DataFrame([randn(1_000) .+ i for i ∈ 1:10], :auto);

julia> plot(histogram.(eachcol(df))...)
这使
enter image description here
或者,如果您想要叠加所有直方图,您可以使用 histogram! (注意 bang)它修改了一个现有的情节:
julia> plot(); last(histogram!.(eachcol(df)))
enter image description here
请注意,这里我调用了 plot()第一如每 histogram! call 覆盖了一个现有的(全局)绘图对象,所以如果我在创建多子图版本之后调用它,附加直方图将被绘制在现有的先前绘图上。
这两个建议都是为了简洁,可能会使微调标签、标题等内容变得更加困难,我经常发现循环是编写这些内容的更清晰的方式,但希望它们能让您了解自己的情况after 可以相对容易地完成(并且没有 StatsPlots ,所有这些都是简单的 Plots )

关于dataframe - 如何从 Julia 的数据框中获取多个直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68913349/

相关文章:

python - 连接 pandas 数据帧的逆行选择

performance - 为什么要使用 DataFrame.select 而不是 DataFrame.rdd.map (反之亦然)?

R将具有分层数据的XML树解析为数据帧

matlab - 设置 xticks 之间的标签

python - 将 rank 2 numpy 数组分配给 pandas DataFrame 列的行为不一致

r - R : plot & the result is “plot.new has not been called yet”

r - 在 HH 包的 Likert 函数中自定义 x 轴刻度线

math - 如何在 Julia 中调用 LAPACK 代码 (cpbtrf)

dataframe - 在 DataFrames 中保存 JuMP 优化结果的紧凑方法

fft - 计算导数傅立叶系数 Julia