Filter löschen
Filter löschen

How to use text fuction in labeling

3 Ansichten (letzte 30 Tage)
Isa Duran
Isa Duran am 27 Mai 2014
Kommentiert: Adam am 28 Mai 2014
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 Kommentare
dpb
dpb am 27 Mai 2014
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.
Isa Duran
Isa Duran am 27 Mai 2014
Yeah I know ! thats the issue mann.. I want to write North at the second plot, and East at the plot nr. 5 in the left side an so on... If you know what I mean.. Like a compass

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Adam
Adam am 27 Mai 2014
Bearbeitet: Adam am 27 Mai 2014
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 Kommentare
Isa Duran
Isa Duran am 27 Mai 2014
Okay :) But the script you sent me is also useful.. Do you know how to use text function? If you want the title to be at the bottom and in the left and right side?
thanks
Adam
Adam am 28 Mai 2014
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

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by