Improving readability of Matlab graph

1 次查看(过去 30 天)
The plot generated by the following code appears with the ticks labelled 1 to 25 for the x axis and 0 to 20 for the y axis. I want the ticks to appear but not to be labelled. Does anyone have suggestions as to how I should modify the code?
x=linspace(0,10,100000000);
y = 4*(1-exp(-0.001*x/(1.05*10^-4)));
plot( x,y)
xlim([0 25])
ylim([-20 20])
set(gca,'xtick',-25:1:25)
set(gca,'ytick',-20:1:20)

采纳的回答

Adam Danz
Adam Danz 2020-4-5
编辑:Adam Danz 2020-4-5
Method 1: remove some X|YTickLabels
Add these lines to then end of your code after setting the axis limits and axis ticks.
The tickInterval variable defines the interval of ticks to display.
tickInterval = 4;
ax = gca();
ax.XTickLabel(~ismember(1:numel(ax.XTickLabel), 1:tickInterval:numel(ax.XTickLabel))) = {''};
ax.YTickLabel(~ismember(1:numel(ax.YTickLabel), 1:tickInterval:numel(ax.YTickLabel))) = {''};
Method 2: Use Minor Ticks
This method may not be available on all types of axes.
ax = gca();
ax.XTick = 0:5:25;
ax.YTick = -25:5:25;
ax.XMinorTick = 'on';
ax.XRuler.MinorTickValues = 0:1:25;
ax.YMinorTick = 'on';
ax.YRuler.MinorTickValues = -25:1:25;
Also see ax.XRuler.TickLength to change the tick lengths.

更多回答(1 个)

Ameer Hamza
Ameer Hamza 2020-4-5
Try this
x=linspace(0,10,100000000);
y = 4*(1-exp(-0.001*x/(1.05*10^-4)));
plot( x,y)
xlim([0 25])
ylim([-20 20])
set(gca,'xtick',-25:1:25, 'XTickLabel', {}) %<--- remove labels
set(gca,'ytick',-20:1:20, 'YTickLabel', {})

类别

Help CenterFile Exchange 中查找有关 Grid Lines, Tick Values, and Labels 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by