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

6 ビュー (過去 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 件のコメント
Joseph Bail
Joseph Bail 2021 年 12 月 2 日
Yes, but the scale is still uniform across the x-axis correct? In your example, only the labels are located at locations that are not uniform.
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.

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

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by