我需要在水平文本(文本1(旁边绘制垂直文本(文本2(,如果我使用与绘制文本1相同的位置,它们就会叠加。
我试图根据text1的Extent属性推断第二个位置,但我无法正确计算单位:
rec = txt.Extent;
pos_x = rec(1) + rec(3);
pos_y = rec(2);
text(pos_x,pos_y,txt2,'HorizontalAlignment','center','FontSize',sz,'Rotation',90,'Units','normalized');
我也试过用像素单位,但也没用。
这个数字是一个时间序列,我找不到任何转换函数。
在我看来,从文档中可以看出Extent值是标准化的,但我不知道是否还需要其他东西来显示这些坐标上的第二个位置。
这看起来像你想要做的吗使用旋转文本打印
以下是制作上述绘图的代码
plot(1:1.2)
h1 = text(1,1, 'Text String 1', 'verticalalignment', 'bottom');
rec = h1.Extent;
pos_x = rec(1) + rec(3);
pos_y = rec(2) + rec(4);
text(pos_x,pos_y,'Text String 2','HorizontalAlignment','left','FontSize',10,'Rotation',90,'verticalalignment', 'bottom');