How do you set the x axis ticks / labels to be equal to the y axis ones?

93 ビュー (過去 30 日間)
L'O.G.
L'O.G. 2022 年 4 月 6 日
コメント済み: Star Strider 2022 年 4 月 6 日
I thought I could do this by the following, but it's not working:
ax1 = gca;
set(ax1,'XTick',get(ax1,'YTick'));
Instead, the x axis still has different ticks (more ticks, same range). How do I make the ticks / labels the same for both axes?
  1 件のコメント
Les Beckham
Les Beckham 2022 年 4 月 6 日
I think this should work if the range of the data is compatible, though it may not look very good.
Can you provide an example where this doesn't work?
Example where it does what you tell it but it may not be what you want.
plot(linspace(0,5,10), 2*rand(1,10))
ax1 = gca;
set(ax1,'XTick',get(ax1,'YTick'));
grid on

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2022 年 4 月 6 日
The tick ranges are governed by the original data.
If the tick ranges are different, the only options are to either set the x-tick labels to be compatible, or re-scale the y-values to be equal to the x-values. Getting the exact values on both axes is only possible if the original number of tick values on each axis are the same —
x = 1:10;
y = x.^2/2;
figure
plot(x, y)
grid
figure
plot(x, y)
grid
yt = get(gca, 'YTick');
xt = get(gca, 'XTick');
xtl = linspace(min(yt), max(yt), numel(xt));
set(gca,'XTick',xt,'XTickLabel',compose('%.0f',xtl))
Here, there are 10 x-ticks and 11 y-ticks, so the new x-tick lables reflect that compromise.
.
  2 件のコメント
L'O.G.
L'O.G. 2022 年 4 月 6 日
Thanks! The issue ended up being I was setting the ticks before changing the font size! D'oh!
Star Strider
Star Strider 2022 年 4 月 6 日
If the tick ranges are the same (same number of ticks on both axes), then try this:
set(gca, 'XTick',xt, 'XTickLabel',yt)
x = 1:10;
y = x.^2/2.25; % Now: Equal Numbers Of Ticks On Both Axes
figure
plot(x, y)
grid
figure
plot(x, y)
grid
yt = get(gca, 'YTick');
xt = get(gca, 'XTick');
set(gca, 'XTick',xt, 'XTickLabel',yt)
.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2022 年 4 月 6 日
Try one of these (not both):
axis equal
axis square

カテゴリ

Help Center および File ExchangeGrid Lines, Tick Values, and Labels についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by