直方图
在本演示中,我们将了解 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 中绘制各种直方图的可能性,并看到了使用该工具的便捷性。