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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!