Reversing y axis direction causes xticks to invert and overlap with labels
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kelly Hokanson
am 21 Nov. 2018
Beantwortet: Robert Weigel
am 13 Mai 2021
I just switched from 2015a to 2018b and encounted a problem with the xticks and corresponding labels whenever I invert the y-axis. The Xtick direction seems reversed from the set value (in or out) and they overlap with the labels. I have no clue how to fix this.
Thanks!
subplot(1,3,1)
plot(rand(10,1),rand(10,1).*(1E-8))
subplot(1,3,2)
plot(rand(10,1),rand(10,1).*(1E-8))
set(gca,'Ydir','reverse')
subplot(1,3,3)
plot(rand(10,1),rand(10,1).*(1E-8))
set(gca,'Ydir','reverse')
set(gca,'TickDir','out')
4 Kommentare
Akzeptierte Antwort
Samuel Coakley
am 31 Mai 2019
Bearbeitet: Samuel Coakley
am 31 Mai 2019
So I ran into the same problem and my solution is below.
Say you are plotting some data in A. Instead of plotting just A, plot -A and change the y tick labels. This means you don't have to reverse the axis so the x tick labels are still in the right place.
plot(1:length(A), -A)
yt = get(gca,'YTickLabel');
for ii=1:length(yt)
ytt{ii} = yt{ii}(2:end); % This trims the minus sign from the negative numbers
end
set(gca, 'YTickLabel', ytt)
Weitere Antworten (2)
Stefanie Schwarz
am 22 Mär. 2021
Bearbeitet: Stefanie Schwarz
am 22 Mär. 2021
This is a bug in R2018b that was fixed in R2019a. See the following Bug Report:
A workaround is to set the Y-axis label to text and insert spaces.
Example:
>> set(gca, 'YTickLabel', {'0 ', '1 ', '2 ', '3 ', '4 '})
0 Kommentare
Robert Weigel
am 13 Mai 2021
Adding an empty subscript worked for the case when the x-tick labels have exponents.
xtl = get(gca,'XTickLabel'); % {'10^{1}', '10^{2}'}
for i = 1:length(xtl)
xtl{i} = [xtl{i},'_{ }']; % Append empty subscript
end
set(gca,'XTickLabel',xtl);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Introduction to Installation and Licensing 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!