MATLAB:单热矩阵到直方图
MATLAB: One-hot matrix to histogram
我有一个单热编码矩阵(大小 1E6 x 10
),其中每一行代表一个观察值,每一列代表一个类别。我如何创建一个直方图来可视化每个类别的计数并在 x 轴上标记类别名称(我想垂直放置以防止重叠)而不是仅仅使用列号?
如果您的矩阵是 M
,您可以按照烧杯的建议获取逐行总和,并使用它来绘制条形图。 (因为你在谈论标签,所以你不太可能需要这样的 'histogram')。
bar (sum (M, 1));
要将标签设置为名称,您可以编辑生成的坐标区对象的属性:
set (gca, 'xticklabel', {'one', 'two', 'three', 'four', 'five', 'six'});
如果您使用的是 Matlab 2014b 或更高版本,您还可以控制旋转:
set (gca, 'xticklabelrotation', 90);
我有一个单热编码矩阵(大小 1E6 x 10
),其中每一行代表一个观察值,每一列代表一个类别。我如何创建一个直方图来可视化每个类别的计数并在 x 轴上标记类别名称(我想垂直放置以防止重叠)而不是仅仅使用列号?
如果您的矩阵是 M
,您可以按照烧杯的建议获取逐行总和,并使用它来绘制条形图。 (因为你在谈论标签,所以你不太可能需要这样的 'histogram')。
bar (sum (M, 1));
要将标签设置为名称,您可以编辑生成的坐标区对象的属性:
set (gca, 'xticklabel', {'one', 'two', 'three', 'four', 'five', 'six'});
如果您使用的是 Matlab 2014b 或更高版本,您还可以控制旋转:
set (gca, 'xticklabelrotation', 90);