【问题标题】:Add labels for x and y using the plotmatrix function MATLAB使用 plotmatrix 函数 MATLAB 为 x 和 y 添加标签
【发布时间】:2018-09-13 11:58:50
【问题描述】:

我设法绘制了一个矩阵 (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')

【问题讨论】:

  • x-label 和 y-labels 一样吗?所以也许你可以做[~,~,HbigAxe] = plotmatrix(corr); xlabel(HbigAxe,'ABCDEF'),ylabel(HbigAxe,'ABCDEF')
  • 不,它们是不同的

标签: matlab plotmatrix


【解决方案1】:

如果我了解您的问题,您希望能够为行提供单独的 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')

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 1970-01-01
    • 2014-02-24
    • 2020-09-14
    • 2022-01-18
    相关资源
    最近更新 更多