Engee 文档
Notebook

直方图

在本演示中,我们将了解 Engee 的直方图功能。

直方图是一种以条形图表示表格数据的方法。

某些指标的定量比率以矩形表示,矩形的面积成比例。为了便于观察,矩形的宽度通常是相等的,而高度则取决于所显示参数的比率。

现在,让我们继续实施,从连接可视化库开始,以使用正态分布随机数矢量的最简单直方图可视化为例,考虑histogram函数。

In [ ]:
using Plots
In [ ]:
x = randn(10^3)
histogram(x)
Out[0]:

默认情况下,直方图的列数由 Friedman-Diakonis 公式决定。

另外,您也可以向 bins 参数传递一个范围,以更精确地控制区间数及其最小和最大值。要绘制从 -5 到 +5 的 20 个区间,请输入......",这里我们需要在长度上加 1,因为长度考虑了区间边界的数量。

In [ ]:
b_range = range(-5, 5, length=21)
plot(b_range, seriestype=:scatter)
Out[0]:

归一化

通常有必要以某种方式对直方图进行归一化处理。normalise 属性就是用于此目的。它允许我们将区间的总面积归一化为 1。由于我们已经从正态分布中选择了一个样本,因此也可以绘制它。

In [ ]:
p(x) = 1/sqrt(2pi) * exp(-x^2/2)

histogram(x, bins=b_range, normalize=:pdf, color=:gray)
plot!(p, lw=3, color=:red)
xlims!(-5, 5)
ylims!(0, 0.4)
Out[0]:

normalise 可以使用其他值,包括

1.:probability - 总结所有单元格高度,最高为 1;

2.密度 - 每个容器的面积等于数量。

加权直方图

下一个显示选项是加权直方图。

In [ ]:
f_exp(x) = exp(x)/(exp(1)-1)

x = rand(10^4)
w = exp.(x)

histogram(x, bins=:scott, weights=w, normalize=:pdf, color=:gray)
plot!(f_exp, lw=3, color=:red)
plot!(legend=:topleft)
xlims!(0, 1.0)
ylims!(0, 1.6)
Out[0]:

其他选项包括

1.可以使用 scatterhist 和 scatterhist! 绘制直方图散点图,其中列会被点代替。 2.可以使用 stephist 和 stephist! 绘制直方图散点图,其中用轮廓代替列。

In [ ]:
p1 = histogram(x, title="Bar")
p2 = scatterhist(x, title="Scatter")
p3 = stephist(x, title="Step")
plot(p1, p2, p3, layout=(1, 3), legend=false)
Out[0]:

注意:注意直方图散点图的 Y 轴默认情况下不是从 0 开始的。

输出

在本示例中,我们了解了在 Engee 中绘制各种直方图的可能性,并看到了使用该工具的便捷性。