Setting axes in bar function

20 visualizzazioni (ultimi 30 giorni)
abidi Mohamed
abidi Mohamed il 1 Giu 2014
Commentato: Star Strider il 2 Giu 2014
Exemple
x=0:1:20
y=1;.9999999;.9999998;.9999997;.9999996;.9999996;.9999995;.9999994;.9999993;.9999992;.9999991;.9999991;.9999991;.9999991;.9999991;.9999991;.9999991;.9999991;.9999991;.9999990;.9999990]
bar(x,y)
-----------------------------------------------
The variation of my function is very small, and the values are very precise (1e-10)
I want to customize the way in which tick labels appear in Matlab plot axes
  • 1/ modify the x and y axes limits (from min value to max value)
  • 2/ display 10 decimal digits in y and x axes

Risposta accettata

Star Strider
Star Strider il 1 Giu 2014
Modificato: Star Strider il 1 Giu 2014
This works:
figure(1)
bar(x,y)
axis([-0.5 20.5 min(y)-2E-8 max(y)])
xt = {get(gca, 'YTick')}
for k1 = 1:10
xts{k1} = (num2str(xt{1}(k1),'%.10f'));
end
set(gca, 'YTick', cell2mat(xt), 'YTickLabel', xts, 'FontSize',7)
producing:
  1 Commento
Star Strider
Star Strider il 2 Giu 2014
‘Star Strider: y0=1 not 0.999999’
Overlooked that.
Fixed now:
figure(1)
bar(x,y)
axis([-0.5 20.5 min(y)-5E-8 max(y)])
yt = {get(gca, 'YTick')}
for k1 = 1:size(yt{1},2)
xts{k1} = (num2str(yt{1}(k1),'%.10f'));
end
set(gca, 'YTick', cell2mat(yt), 'YTickLabel', xts, 'FontSize',7)

Accedi per commentare.

Più risposte (2)

aneps
aneps il 1 Giu 2014
Modificato: aneps il 2 Giu 2014
use xlim, ylim options... you can simply give
xlim=([xmin xmax]);
ylim=([ymin ymax]);
or
set(gca,'XLim',[xmin xmax]);
set(gca,'XTick',[xmin:interval:xmax]);
set(gca,'YLim',[ymin ymax]);
set(gca,'YTick',[ymin:interval:ymax]);
for decimal places
xn=get(gca,'xtick');
set(gca,'xticklabel',sprintf('%.10f |',xn));
yn=get(gca,'ytick');
set(gca,'yticklabel',sprintf('%.10f |',yn));

abidi Mohamed
abidi Mohamed il 1 Giu 2014
thank you aneps have you any solution for my second problem "display 10 decimal digits in y and x axes"
  3 Commenti
Star Strider
Star Strider il 2 Giu 2014
...posted 21 hours after mine...
abidi Mohamed
abidi Mohamed il 2 Giu 2014
Modificato: abidi Mohamed il 2 Giu 2014
aneps,Star Strider: thank you very much for your help
Star Strider: y0=1 not 0.999999

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by