How to use text fuction in labeling
1 回表示 (過去 30 日間)
古いコメントを表示
Hi guys I have a small issue. I'm doing a subplot where each plot symbolize a direction (North,East,West,South) so I have created a subplot with 3 rows and 3 columns, with the middle one empty. Now I want to label North, West, East and South in my subplot. I have tried TEXT function but it seem to be unstable. I have attached the figure so you can see what I'm dealing with. Hope you can help guys.
for j=1:length(SR) %Number of fields
figure
for i=[1:4 6:9] %Creating row x collums for subplot
for c=1:8 %Number of headings
subplot(3,3,i)
plot(omega,Sp_we(:,c,j))
xlabel('\omega [rad/s]')
ylabel('S(\omega)')
end
end
suptitle(['Wave spectrum for area ', num2str(SR(j))])
%text(2,20,'hello','FontSize',18)
%text(1.5,1,'hello','FontSize',18)
%text(1.5,1,'hello','FontSize',18)
%text(1.5,1,'hello','FontSize',18)
end
2 件のコメント
dpb
2014 年 5 月 27 日
I don't see anything about N, S, E, W???
What's the specific problem? text coordinates are axes-based for each axes; you need to specify the current figure on which you wish to write and the the position within that axes.
annotation objects work in global figure space if that's what you're looking for.
回答 (1 件)
Adam
2014 年 5 月 27 日
編集済み: Adam
2014 年 5 月 27 日
Hi Isa, do you mean something like this? (just copy this code to the Matlab command line and press ENTER)
test_signal_N = randn(1,100);
test_signal_S = randn(1,100);
test_signal_E = randn(1,100);
test_signal_W = randn(1,100);
test_signal_NE = randn(1,100);
test_signal_NW = randn(1,100);
test_signal_SE = randn(1,100);
test_signal_SW = randn(1,100);
figure;
subplot(3,3,1); plot(test_signal_NW); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('North-West');
subplot(3,3,2); plot(test_signal_N); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('North');
subplot(3,3,3); plot(test_signal_NE); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('North-East');
subplot(3,3,4); plot(test_signal_W); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('West');
subplot(3,3,6); plot(test_signal_E); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('East');
subplot(3,3,7); plot(test_signal_SW); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('South-West');
subplot(3,3,8); plot(test_signal_S); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('South');
subplot(3,3,9); plot(test_signal_SE); xlabel('\omega [rad/s]'); ylabel('S(\omega)'); title('South-East');
Adam
4 件のコメント
Adam
2014 年 5 月 28 日
I have tried to figure out it... First solution is quite impractical, but it could work if you adjust it little bit -- mainly their absolut positions related to the size of figure. - see m-file attached
I´m sending you a second solution made by a GUI. Does it look like you imagine?
- see attached picture
Adam
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/178948/image.png)
参考
カテゴリ
Help Center および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!