Can my x-axis have varying scales for certain ranges of values?

4 ビュー (過去 30 日間)
Joseph Bail
Joseph Bail 2021 年 12 月 2 日
コメント済み: Joseph Bail 2021 年 12 月 2 日
Is it possible to scale my x-axis so the intervals are spread further apart from each other for more time-sensitive data and closer together for the data that spans across a larger time period?
For example, I would like the distance between the x-ticks to be relatively small from 60- to 180-seconds. Conversely, I would like the gaps to be significantly wider from 180-seconds to 200-seconds so the plot is less crowded.

採用された回答

Walter Roberson
Walter Roberson 2021 年 12 月 2 日
Is it possible to scale my x-axis so the intervals are spread further apart from each other for more time-sensitive data and closer together for the data that spans across a larger time period?
No, it is not.
  • you could create several piecewise linear (or log) axes beside each other, and split the drawing up between them.
  • you could transform your original x data in a non-linear way, and tell xticklabels to lie about what values are there, and ignore the problems you are creating for zoom or data cursors
  • you could transform your original x data in a non-linear way, and tell xticklabels to lie about what values are there, and go through a bunch of trouble to get zoom and data cursors to act sensibly
  • you could create a subplot or inset graph that focused on the area of greatest interest
  1 件のコメント
Joseph Bail
Joseph Bail 2021 年 12 月 2 日
Bummer. Thank you for the alternative options.

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

その他の回答 (2 件)

Chunru
Chunru 2021 年 12 月 2 日
Yes. You can change the tick locations:
t = 1:200;
x = sinc(2*pi*.125*t);
plot(t, x);
set(gca, 'XTick', [0:20:60 70:10:100 125:25:200])
  2 件のコメント
Chunru
Chunru 2021 年 12 月 2 日
You can change the tick location any way you want. The above is just an example.

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


the cyclist
the cyclist 2021 年 12 月 2 日
編集済み: the cyclist 2021 年 12 月 2 日
Here is a simple example:
x = 1:10;
y = 2*x;
figure
plot(x,y)
xtick_loc = [0:0.5:2 3:2:7 8:0.5:10];
set(gca,'XTick',xtick_loc)
  1 件のコメント
Joseph Bail
Joseph Bail 2021 年 12 月 2 日
Perhaps I was not all that clear with my question. I am trying to scale the data differently along my x-axis. The x-axis still has a uniform scale in your example despite the ticks occurring at different locations.

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

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by