linkaxes does not work like expected (or hoped)

Hi,
i wrote the following (minimal) code:
clear all
close all
X = -3:0.3:3;
a = 1;
b = 2;
c = 1;
Y = a + b * (X - c).^2 + 0.4* rand(1,length(X));
h = figure;
a1 = gca;
a2 = axes('xaxislocation','top','yaxislocation','right','color','none');
hold on
hData = scatter(X,Y);
linkaxes([a1 a2]);
axis([a1 a2], [min(X) max(X) min(Y) max(Y)])
hold off
Apparantly, I wanted to have a graph with axes on all 4 sides. I thought with "linkaxes" i can link the axes in a way that they are always scaled in the same way. For the x-axes it seems to work well, but the y-axes appears to have some different scaling factors (which you can see, if you resize a little bit the graph-window.
Can anybody explain what i did wrong?
Thanks!

3 commentaires

Adam
Adam le 17 Août 2014
Your code works fine for me for both x and y axes on resizing.
Benjamin
Benjamin le 17 Août 2014
Modifié(e) : Benjamin le 17 Août 2014
They have the same range. this works also perfect for me. Just the length of the axes is different. In the picture you can see what i mean (eg. the "30" left and right is not at the same heigth.... now i also saw that the data are going down below the graph.
EDIT: now also with the promised graph :-)
dpb
dpb le 17 Août 2014
Can't reproduce that effect here--what Matlab release and OS? Perhaps try changing the renderer setting if it's somehow related to a local video driver issue.

Connectez-vous pour commenter.

 Réponse acceptée

Benjamin
Benjamin le 17 Août 2014
Matlab R2011b and Windows 8. I could solve the problem by adding
set(a1, 'Position', [0.13 0.13 0.74 0.74]);
set(a2, 'Position', get(a1, 'Position'));
I was just thinking "linkaxes" is doing that automatically

1 commentaire

dpb
dpb le 17 Août 2014
Probably a version enhancement/bug fix since that release.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Centre d'aide et File Exchange

Question posée :

le 17 Août 2014

Commenté :

dpb
le 17 Août 2014

Community Treasure Hunt

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

Start Hunting!

Translated by