removing ticks on top and right axes
187 views (last 30 days)
Show older comments
Hello,
My plot in matlab, by default, has ticks on both left and right and top and bottom. However, I want ticks to be only on left and bottom while keeping the axes on all four sides. Is there any command to remove ticks on top and right sides of the box.
Many thanks in advance!
0 Comments
Answers (2)
Robert U
on 25 Nov 2022
Hi Reddy Yettapu,
it is not possible to control the top and right axis separately. You can add the desired behavior manually with the drawback that it won't scale with the figure if you zoom out.
arg = 0:9;
data = rand(1,10);
fh = figure;
ah = axes(fh);
plot(ah,arg,data,'o-');
ah.Box = 'off';
xline(ah,ah.XLim(2))
yline(ah,ah.YLim(2))
See here as well: https://de.mathworks.com/matlabcentral/answers/322324-is-there-a-way-to-remove-the-ticks-on-the-right-and-upper-side-when-the-box-is-on
Kind regards,
Robert
3 Comments
Robert U
on 28 Nov 2022
Hi Reddy Yettapu,
could you send the figure as mat-file? It does not need to contain your original data, dummy data would be fine.
The top and right axes are missing since they are switched off. The xline() and yline() commands only provide the appearance of the box. These commands need to be executed when the figure is already finished. The lines are fixed to the x- and y-values and will not scale with the graph.
Kind regards,
Robert
Sulaymon Eshkabilov
on 25 Nov 2022
Here is one easy solution to manipulate ticks, e.g.:
x = linspace(0,pi);
y = sin(x.^2);
plot(x,y), grid on
yticks([ ])
xticks([0 pi/3 pi/2 2*pi/3 pi])
xticklabels({'x=0','x = \pi/3', 'x=\pi/2','x = 2*\pi/3', 'x=\pi'})
See Also
Categories
Find more on Axes Appearance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!