3
我在MATLAB
的figure
中有一組subplots
。我生成了一組連接到這些子圖中的圖表的測試。我想要有一個單獨的子圖表示這些字符串。我不想註釋圖形或生成一個將文本打印到其上的圖形。我想將5行文本打印到一個子圖上。如何在MATLAB的子圖中顯示文本/字符串的行?
我嘗試手動將字符串放在座標上,但它變得混亂。有沒有簡單的方法?
我在MATLAB
的figure
中有一組subplots
。我生成了一組連接到這些子圖中的圖表的測試。我想要有一個單獨的子圖表示這些字符串。我不想註釋圖形或生成一個將文本打印到其上的圖形。我想將5行文本打印到一個子圖上。如何在MATLAB的子圖中顯示文本/字符串的行?
我嘗試手動將字符串放在座標上,但它變得混亂。有沒有簡單的方法?
使用text()函數,與「父」屬性設置爲你的插曲,即手柄,
figure;
h1 = subplot(2, 1, 1);
% Do some plotting on h1
h2 = subplot(2, 1, 2);
text(0, 0, sprintf('%s\n%s\n%s ... etc', line1Str, line2Str, line3Str), 'Parent', h2);
請注意,我在這裏已經通過從sprintf的回報,以包括新行字符串中的字符(文本接受新行並顯示它們沒有問題)。
您也不妨中心在軸的文字,以便您將取代前兩個參數與XPOS,yPos,在那裏它們是:
xl = xlim(h2);
xPos = xl(1) + diff(xl)/2;
yl = ylim(h2);
yPos = yl(1) + diff(yl)/2;
t = text(xPos, yPos, sprintf('%s\n%s\n%s ... etc', line1Str, line2Str, line3Str), 'Parent', h2);
set(t, 'HorizontalAlignment', 'center');
最後一行設置對準中心,好。
這將文本放置在子區域的底部,該區域沿着子區域空間運行。我沒有設置(gca,'YDir','Reverse')',但是0,0處的文本是字符串行的中心,因此它們不會隨着行增加而向下運行,從而導致其他包含字符串的子圖。 – Vass 2013-03-21 12:02:21
查看我最近的編輯:) – wakjah 2013-03-21 12:08:06
perfecto :),謝謝 – Vass 2013-03-21 12:13:05