2

我设法绘制了一个矩阵(16X16),但我想为每个 x 和 y 轴添加标签。如下所示,标签垂直写在 y 上并相互混合,也写在 x 图形本身上并混合。有没有办法在轴旁边添加标签而不被混合(如第二张照片所示)?

当前图表: 在此处输入图像描述

我想做的事: 在此处输入图像描述

我的代码(在绘制三个标签后停止,因为它不起作用):

[~,ax] = plotmatrix(corr);
ylabel(ax(1,1),'ABCDEFGHIJKLMNOP')
ylabel(ax(2,1),'ABCDEFGHIJKLMNOP')
ylabel(ax(3,1),'ABCDEFGHIJKLMNOP')
xlabel(ax(16,1),'ABCDEFGHIJKLMNOP')
xlabel(ax(16,2),'ABCDEFGHIJKLMNOP')
xlabel(ax(16,3),'ABCDEFGHIJKLMNOP')
4

1 回答 1

3

如果我了解您的问题,您希望能够为行提供单独的 y 标签,为列提供 x 标签。不幸的是,当您使用时xlabelylabel结果文本重叠。这里有两个解决方案

解决方案 1:使用大轴设置标签

通过引用大轴对水平轴和垂直轴使用单个标签

[~,~,HBigAxe] = plotmatrix(corr);
xlabel(HBigAxe,'Horizontal Label for Columns');
ylabel(HBigAxe,'Vertical Label for Rows');

使用大轴标签

解决方案 2:使用旋转和对齐来避免标签重叠

如果您希望每一行和每一列都有自己的标签,您可以旋转并设置标签的水平对齐方式。例如:

[~,ax] = plotmatrix(corr);
ylabel(ax(1,1),'Y Axis Label','Rotation',0,'HorizontalAlignment','right')
xlabel(ax(end,1),'X Axis Label','Rotation',90,'HorizontalAlignment','right')

个别标签

于 2018-09-14T20:26:15.953 回答