Too many points on x-axis
19 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
If you run the following script, Matlab uses 0.5 increments on the x-axis. This gives the wrong label, since it starts over again after 6 points on the x-axis. Does anybody know how to make sure that the increments are made so that the labels get correct?
test= rand(11,8,6);
test2=test
Alder = {'<20', '2029','3039','4049','5059','6069','>70', 'all'};
Aar = {'2011', '2012', '2013_1', '2014_1', '2014_s2', '2014_s5'};
nAlder = length(Alder);
nAar = length(Aar);
figure
hold on
for iAlder = 1:nAlder
plot(squeeze(test2(11,iAlder,:)));
set(gca, 'XTickLabel',Aar)
end
hold off
0 comentarios
Respuestas (2)
Karl
el 5 de Jun. de 2013
Editada: Karl
el 5 de Jun. de 2013
2 comentarios
Iain
el 5 de Jun. de 2013
Matlab just runs through a set process for determining the tick values. If you have more than 6 x values, you'll see the tick locations change.
If you want specific tick locations, you need to specify them.
Jan
el 5 de Jun. de 2013
Perhaps this helps:
figure
data = squeeze(test2(11, :, :));
plot(1:length(Alder), data); % perhaps: data.'
set(gca, 'XTickLabel', Aar, 'XTick', 1:length(Alder))
2 comentarios
Iain
el 5 de Jun. de 2013
No. It simply comes up with what matlab reckons the best scaling is for the plot. It seems to try to ensure that there are BETWEEN 7 and 11 ticks.
Try:
for i = 1:30
figure
plot(randn(i,1))
end
You'll see what I mean.
Ver también
Categorías
Más información sobre Axis Labels en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!