Labelling mulitple traces on plot

9 Ansichten (letzte 30 Tage)
Joseph
Joseph am 18 Mär. 2013
Hi,
How would you go about automatically labeling each trace on a plot for the case where the values are automatically generated in a for loop
from this
to this
The labels either sitting on top of each trace or adjacent outside the plot preferably with transparent background.
my code:
for nn = 1:Kappan
cc = jet(Kappan);
figure(1)
loglog(dratio,G(nn,:),'.-','color',cc(nn,:))
grid on
xlabel('Length / Diameter')
ylabel('Gain')
legend('boxoff'),legend(c,'location','NorthWest')
hold on
end
hold off
Thank You,
Joe
  3 Kommentare
Joseph
Joseph am 18 Mär. 2013
Bearbeitet: Walter Roberson am 18 Mär. 2013
Hi Thanks for the replies. c variable is to color each trace code below
c={}; for i=1:length(Kappa) c{end+1}=num2str(Kappa(i)); end
for nn = 1:Kappan cc = jet(Kappan); figure(1) loglog(dratio,G(nn,:),'.-','color',cc(nn,:)) grid on xlabel('Length / Diameter') ylabel('Gain') legend('boxoff'),legend(c,'location','NorthWest') hold on end hold off
% set(gcf, 'PaperPositionMode', 'auto'); saveas(gcf, 'test2', 'pdf') %Save figure export_fig('C:\Users\Joseph\Documents\Geophysics\PhD\Matlab', '-pdf','-painters');
Walter Roberson
Walter Roberson am 18 Mär. 2013
I adjusted my code accordingly.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 18 Mär. 2013
Bearbeitet: Walter Roberson am 18 Mär. 2013
figure(1)
for nn = 1:Kappan
loglog(dratio, G(nn,:), 'kd', 'LineStyle', 'none');
if nn == 1
grid on
xlabel('Length / Diameter')
ylabel('Gain')
hold on
end
text(dratio(end), G(nn,end), str2num(Kappa(nn)), 'HitTest', 'off', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')
end
hold off
We need more information in order to generate the "wait" line and the infinity trace.
  6 Kommentare
Joseph
Joseph am 18 Mär. 2013
Yes, that's correct. Nan for the output of Gain if Kappa = Inf. So I guess I'll put an arbitrary large number for example 10^10 as Inf. And then how would you replace 10^10 on the text label with Inf?
Walter Roberson
Walter Roberson am 18 Mär. 2013
if nn == Kappan
Kstr = 'inf';
else
Kstr = str2num(Kappa(nn));
end
text(dratio(end), G(nn,end), Kstr, 'HitTest', 'off', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Labels and Annotations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by