主要内容

控制分类直方图显示

这个例子展示了如何使用直方图有效地查看分类数据。您可以使用名称-值对'numdisplaybins',“DisplayOrder”, 和“ShowOthers”改变分类直方图的显示。这些选项可以帮助您更好地组织数据并减少图中的噪声。

创建分类直方图

示例文件outages.csv包含代表美国电力中断的数据。该文件包含六列:地区,过剩,损失,顾客,RestorationTime, 和原因

读了outages.csv文件作为表。使用“格式”选项指定每个列包含的数据类型:分类('%C'),浮点数字('%F'),或datetime ('%d')。索引进入前几行数据以查看变量。

data_formats =' % C % D % f % f % D % C ';C = readtable (“outages.csv”,“格式”, data_formats);: first_few_rows = C (1:10)
first_few_rows =10×6表地区OutageTime损失客户恢复时间_______________________________________________________________________________________________________02-07 16:50冬季风暴东南2003-01-23 00:49 530.14 2.1204E + 05Nat冬季风暴东南2003-02-07 21:15 289.4 1.4294E + 05 2003-02-17 08:14冬季风暴West 2004-04-06 05:44 434.81 3.4037E + 05 2004-04-06 06:10设备Fault Midwest 2002-03-16 06:18 186.44 2.1275E + 05 2002-03-18 23:23严重风暴West 2003-06-18 02:49 0 0 2003-06-18 10:54攻击West 2004-06-20 14:39 231.29南2004-06-20 19:16设备故障West 2002-06-06 19:28 311.86南2002-06-07 00:51设备故障东北部2003-07-16 16:23 239.93 49434 2003-07-17 01:12火中西部2004-09-27 11:09 286.72 66104 2004-09-27 16:37设备故障

绘制分类柱状图原因变量。指定一个输出参数来返回直方图对象的句柄。

h =直方图(C.Cause);包含(“故障原因”)ylabel('频率')标题(“最常见的停电原因”)

图中包含一个轴。标题为“最常见断电原因”的轴包含类型为categoricalhistogram的对象。

改变直方图的标准化使用“概率”归一化,显示每个中断原因的相对频率。

h.Normalization =“概率”;ylabel (的相对频率)

图中包含一个轴。标题为“最常见断电原因”的轴包含类型为categoricalhistogram的对象。

改变显示顺序

使用“DisplayOrder”选项排序的箱子从最大到最小。

h.DisplayOrder =“下”;

图中包含一个轴。标题为“最常见断电原因”的轴包含类型为categoricalhistogram的对象。

截断显示的条数

使用'numdisplaybins'选项,在绘图中只显示三个条。显示的概率不再加1,因为未显示的数据仍然被考虑在标准化中。

h.NumDisplayBins = 3;

图中包含一个轴。标题为“最常见断电原因”的轴包含类型为categoricalhistogram的对象。

总结排除数据

使用“ShowOthers”选项汇总所有被排除的条,以便显示的概率再次加为1。

h.ShowOthers =“上”;

图中包含一个轴。标题为“最常见断电原因”的轴包含类型为categoricalhistogram的对象。

限制显示数据的规范化

在R2017a之前直方图histcounts仅使用功能扔进垃圾箱计算归一化的数据。这种行为意味着,如果某些数据最终在箱子之外,它将被忽略,以达到规范化的目的。然而,在MATLAB®R2017a中,行为改变为总是使用输入数据中的元素总数进行归一化。新的行为更加直观,但是如果您喜欢旧的行为,那么您需要采取一些特殊的步骤,将规范化限制在只对已装箱数据进行的范围内。

您可以将概率归一化限制在直方图中显示的数据上,而不是对所有输入数据进行归一化。简单的更新数据直方图对象的属性删除其他类别。这类别属性反映柱状图中显示的类别。使用setdiff比较两个属性值并从中删除任何类别数据那不是类别。然后去掉所有的结果未定义的从数据中分类元素,只在显示的类别中留下元素。

h.ShowOthers =“关闭”;cats_to_remove = setdiff(类别(h.Data), h.Categories);h.Data = removecats (h.Data cats_to_remove);h.Data = rmmissing (h.Data);

图中包含一个轴。标题为“最常见断电原因”的轴包含类型为categoricalhistogram的对象。

现在的标准化只基于剩下的三个类别,所以三个条形图加1。

另请参阅

||