How to get subscripts in the legend of a Nichols plot?

9 visualizzazioni (ultimi 30 giorni)
How do I put subscripts in a Nichols plot legend?
This works fine in a normal plot:
figure
plot([0 1],[3 4]); hold on
plot([0 1],[4 5])
plot([0 1],[5 6])
legend('G_2', 'G^2', 'G^2_p')
saveas(gcf,'test1.png')
produces:
But:
figure
nichols(Gp); hold on
nichols(Gc1*Gp);
nichols(Gc2*Gp);
legend('G_2', 'G^2', 'G^2_p')
saveas(gcf,'test2.png')
produces:
I tried this:
figure
nichols(Gp); hold on
nichols(Gc1*Gp);
nichols(Gc2*Gp);
legend('$G_2$', '$G^2$', '$\hat{G}^2_{p}$','Interpreter','Latex')
Produces:
Maybe this is the same bug reported in this question in 2015: Subscripts in MATLAB Legends

Risposta accettata

Adam Danz
Adam Danz il 28 Ago 2020
This is caused by an extra excape character added when the legend is initially created.
Details are explained by these two answers here.
As explained in that link, you can call the legend twice and the second time should fix the problem.
% Demo
H = tf([-4 48 -18 250 600],[1 30 282 525 60]);
nichols(H)
legend('G^2_p')
legend('G^2_p') % <-- intentionally called again
  2 Commenti
Bill Tubbs
Bill Tubbs il 28 Ago 2020
Modificato: Bill Tubbs il 28 Ago 2020
Thanks.
Indeed you are right:
% First time
h1 = legend('G_2', 'G^2', 'G^2_p')
h1 =
Legend (G\_2, G^2, G^2\_p) with properties:
...
% 2nd time
h2 = legend('G_2', 'G^2', 'G^2_p')
h2 =
Legend (G_2, G^2, G^2_p) with properties:
...
How unusual.
Adam Danz
Adam Danz il 28 Ago 2020
Indeed. The surprises we find in the entrails for Matlab....

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by