Können Sie mir sagen, wie kann ich eine Achse "Multiplikator" ändern? Ich meine einen Wert, den ich im Bild eingekreist habe, sagen wir, ich hätte gerne x10^3 statt x10^4.Matlab - Achsenmultiplikator ändern
Antwort
Sie können folgende MATLAB Central tick2text verwenden: Erstellen Sie einfach zu fertigen besonders tick-Etiketten
zusammen mit dem sprintf
Formatierung.
Ich habe wenig kompliziert Lösung:
- Set
YTickMode
-manual
. - Stellen Sie Ihre eigenen
YTickLabel
. - Platzieren Sie den Text oben mit Ihrem gewünschten Multiplikator.
hier:
set(gca, 'YTickMode', 'manual');
set(gca, 'YTickLabel', get(gca,'YTick')/1000);
text(0, 1.02 * get(gca,'YLim')(2), 'x 10^3');
Wiedergabe mit dem Multiplikator 1.02
in der dritten Zeile Ihren Textes auf den guten Ort zu Ort.
Sie haben meine Frage nicht verstanden. Ich möchte nicht Achsengrenzen, sondern Werte auf der Achse ändern, in meinem Beispiel muss ich 0,10,20, ..., 100 mit x10^3 Multiplikator anstelle von 0,1,2 ,. .., 10 mit x10^4 Multiplikator auf meiner Y-Achse – kozooh
Ich habe die Antwort bearbeitet –
Haben Sie es überprüft, da es nicht funktioniert? – kozooh
Skalieren Sie Ihre Daten um 0,1, wodurch Sie den gewünschten Multiplikator erhalten.
dann die Strichbeschriftungen überschreiben, so dass tick 1.0 10 markiert ist, usw.
Aber das Überschreiben der Hilfsstriche entfernt den Multiplikator, oder? –
@Luis: Ich habe ein paar Plots gesehen, wo es nicht war, aber sie haben vielleicht etwas Exotisches gemacht. –
Ab R2015b es einen Teil der Ziffer Lineal Eigenschaften ist:
ax = get(gca);
ax.YAxis.Exponent = -3;
Es scheint, den schnellsten Weg von all den Antworten. Hier ist der Code, wenn jemand ein Problem hätte: tick2text (gca, 'yformat', @ (x) sprintf ('% 2u', x/10^9) 'Thx @Macduff. – kozooh