How to get different scales on the same axis?

I would like to have two scales on the same x-axis. I want the scale to be 100 from 0 to 1000 (i.e. 0,100,200,...,1000). And then I want the scale to be 1000 from 1000 to 20,000 (i.e. 1000,2000,...20,000). Note: the client does not want a semi-logarithmic scale (looks to complicated for him ;) ). Does someone have any ideas?

Antworten (2)

Radha Krishna Maddukuri
Radha Krishna Maddukuri am 9 Jun. 2015

1 Stimme

This can be done by modifying the XTick property of the axis. Try the following. A similar approach can be used for your usecase.
x = linspace(0,20,1);
y = cos(x);
plot(x,y)
x = linspace(0,20,100);
y = cos(x);
plot(x,y)
ax = gca
ax.XTick = [0:1:5 6:2:20]
Ingrid
Ingrid am 9 Jun. 2015
Bearbeitet: Ingrid am 9 Jun. 2015

0 Stimmen

just use
set(gca,'xTick',[0:100:1000,2000:1000:20000]);

Tags

Gefragt:

am 9 Jun. 2015

Bearbeitet:

am 9 Jun. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by