How to set axis in more details?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
qilin guo
am 1 Nov. 2021
Kommentiert: qilin guo
am 2 Nov. 2021
Dear all,
I want to know if it is possible to set YTickDir = "out" and keep the yticks on the left y axis only. (As far as I know, there no such properties name "YTickDir" for axes.) In my case, I don't know how to remove the ticks of right yaxis.
It cannot be better if I could set XTickDir and YTickDir separately, just like xmgrace. Actually I woud use MATLAB to replace xmgrace to plot as I can use scripts to control my plots, which is very convenient. I hope that the MathWorks Team would hear my voice to provide more properties to control figure. I know there are hidden properties but I don't know where I can find them.
Best regards,
Qilin.
x = linspace(0.0, 12.0, 21);
J0 = besselj(0, x);
figure; plot( x, J0, 'ro-' );
h = gca;
h.TickDir = 'out'


(In xmgrace, I can set the ticks on x or y axis drawn on "Normal side", "Opposite side" or "Both side").
0 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 1 Nov. 2021
See this answer. You can find a list of the properties here: https://www.mathworks.com/help/matlab/ref/matlab.graphics.axis.axes-properties.html
x = linspace(0.0, 12.0, 21);
J0 = besselj(0, x);
figure;
plot( x, J0, 'ro-' );
h = gca;
yax = h.YAxis; % xax = get(ax,'XAxis');
set(yax,'TickDirection','out')
box 'off'
3 Kommentare
Cris LaPierre
am 2 Nov. 2021
Not that I am aware of (see this link). A work around may be to use the xline and yline functions to complete the box.
x = linspace(0.0, 12.0, 21);
J0 = besselj(0, x);
figure;
plot( x, J0, 'ro-' );
h = gca;
yax = h.YAxis; % xax = get(ax,'XAxis');
set(yax,'TickDirection','out')
box 'off'
xline(max(h.XAxis.Limits))
yline(max(h.YAxis.Limits))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

