How to change x-axis without changing datapoints?

14 visualizzazioni (ultimi 30 giorni)
Hi there,
I am trying to change the labels of XAxis and YAxis. The labels need to start at 0,0 without changing the data points and keep the correct scale. What is the best way to do this?
I tried to change the xticklabels and yticklabels but then the distance between two data points was not the same as on the x-axis.
  1 Commento
Dyuman Joshi
Dyuman Joshi il 7 Set 2023
What should be the values for the tick labels instead of the current values?

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 7 Set 2023
Here are two ways of changing the plot —
x = linspace(536000, 543000, 500).';
yax = linspace(532900, 533400, 500).';
B = [x(:) ones(500,1)] \ yax(:);
y = [1E+3*sin(2*pi*x*3/(max(x)-min(x))) ones(500,1)] * B;
figure
plot(x, y)
title('Original')
xt = xticks;
yt = yticks;
figure
plot(x, y)
xticklabels(xt - xt(1))
yticklabels(yt - yt(1))
title('Changed Tick Labels')
xnew = x - min(x);
ynew = y - min(y);
figure
plot(xnew, ynew)
title('Shifted Function')
.

Più risposte (1)

dpb
dpb il 7 Set 2023
Spostato: dpb il 7 Set 2023
One could meet the request as stated with
xl=xlim; xticklables=xticks-xl(1);
yl=ylim; yticklables=yticks-yl(1);
What other unstated expectations @Dominik Coenen has may or may not be possible to be met...

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by