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 commentaire

What should be the values for the tick labels instead of the current values?

Connectez-vous pour commenter.

 Réponse acceptée

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')
.

Plus de réponses (1)

dpb
dpb le 7 Sep 2023
Déplacé(e) : dpb le 7 Sep 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...

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by