MATLAB:一个热矩阵到直方图

时间:2017-03-23 00:49:26

标签: matlab histogram one-hot-encoding

我有一个单热编码矩阵(大小1E6 x 10),其中每行代表一个观察,每列代表一个类别。如何创建直方图以显示每个类别的计数并在x轴上标记类别名称(我猜垂直定位以防止重叠)而不仅仅使用列号?

1 个答案:

答案 0 :(得分:2)

如果您的矩阵是M,您可以获得行方式总和,如烧杯建议的那样,并使用它来绘制条形图。 (因为你正在谈论标签,所以你不太可能需要一个'直方图等)。

bar (sum (M, 1));

要将标签设置为名称,您可以编辑生成的轴对象的属性:

set (gca, 'xticklabel', {'one', 'two', 'three', 'four', 'five', 'six'});

如果您使用的是Matlab 2014b或更高版本,您还可以控制轮换:

set (gca, 'xticklabelrotation', 90);