Clear Filters
Clear Filters

removing ticks on top and right axes

187 views (last 30 days)
Reddy Yettapu
Reddy Yettapu on 25 Nov 2022
Commented: Robert U on 28 Nov 2022
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!

Answers (2)

Robert U
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))
Kind regards,
Robert
  3 Comments
Reddy Yettapu
Reddy Yettapu on 25 Nov 2022
It is working when I run your code seperately. However, when I included it in my script file, where I am plotting multiple plots in the same graph, top and right axes are missing. Please have a look at the attached screenshot how I included your code into mine.
Thanks,
Reddy
Robert U
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

Sign in to comment.


Sulaymon Eshkabilov
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'})
  1 Comment
Reddy Yettapu
Reddy Yettapu on 25 Nov 2022
Edited: Reddy Yettapu on 25 Nov 2022
Thanks for your answer. I want ticks to be only on left and bottom axes. However, in your plot it has ticks on top and bottom. Please let me know if you have any alternative.
Thanks,
Reddy

Sign in to comment.

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!