Es gibt wirklich keine gute Möglichkeit, dies zu tun, nicht funktioniert. Es empfiehlt sich immer, explizit anzugeben, dass eine Protokollskalierung für ein Diagramm verwendet wird.
Wenn Sie wirklich wollen, wäre es am einfachsten, wenn Sie eine Log-Transformation für Ihre Daten durchführen und diese in einer normalen linearen Skala auftragen. Geben Sie dann benutzerdefinierte Hilfsstrichsbeschriftungen an, damit diese als logarithmische Skala erscheint.
%// Plot after performing log transform of your xdata
plot(log10(x), y)
%// Tick locations
ticks = 0:3;
%// Create custom tick labels
labels = arrayfun(@(x)sprintf('10^%d', x), ticks, 'uni', 0);
%// Update the ticks and ticklabels
set(gca, 'xtick', ticks, 'XTickLabels', labels)
Ich denke, das könnte ein Fehler mit MATLAB ' 'sein log'' Skalierung Achsen. – excaza
Nun, vielleicht nicht ein Fehler, da Sie wirklich kleine Häkchen haben sollten, um klar zu machen, dass eine Log-Skala verwendet wird, aber zumindest sollte dokumentiert werden, dass sie für Log-Skalen erzwungen werden. Es scheint, als ob es in R2014b mit HG2 eingeführt wurde, da dieses Verhalten in R2014a nicht vorhanden ist. – excaza
Ab R2016b funktioniert der Befehl des OP. – iled