Setting axes in bar function

21 vues (au cours des 30 derniers jours)
abidi Mohamed
abidi Mohamed le 1 Juin 2014
Commenté : Star Strider le 2 Juin 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

Réponse acceptée

Star Strider
Star Strider le 1 Juin 2014
Modifié(e) : Star Strider le 1 Juin 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 commentaire
Star Strider
Star Strider le 2 Juin 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)

Connectez-vous pour commenter.

Plus de réponses (2)

aneps
aneps le 1 Juin 2014
Modifié(e) : aneps le 2 Juin 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 le 1 Juin 2014
thank you aneps have you any solution for my second problem "display 10 decimal digits in y and x axes"
  3 commentaires
Star Strider
Star Strider le 2 Juin 2014
...posted 21 hours after mine...
abidi Mohamed
abidi Mohamed le 2 Juin 2014
Modifié(e) : abidi Mohamed le 2 Juin 2014
aneps,Star Strider: thank you very much for your help
Star Strider: y0=1 not 0.999999

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by