Axis location in a GUI axes object
Show older comments
I'd like to create an axes object in a GUI, with both axes located at the origin. In a conventional plot, I set the XAxisLocation property to 'origin', but in the GUI it seems only 'top' or 'bottom', (or 'left' or 'right' for y-axis) can be used. Is there a solution to my problem?
Answers (2)
Walter Roberson
on 15 Dec 2016
Edited: Walter Roberson
on 15 Dec 2016
0 votes
In MATLAB, "figure" and "GUI" are the same thing, so if you are able to use 'origin' in an "conventional plot" then really you are using it in a GUI. Adding uicontrol to a figure does not change what can be drawn in the figure.
Are you possibly referring to some limitation in GUIDE, or in appdesigner ? If you are referring to a limitation in GUIDE, then in your code after you draw into the axis you can set the properties of the axis. (I was going to say you could put it into the axes CreateFcn callback, but axes properties have a tendency to disappear when you draw in the axes.)
fulvio schettino
on 15 Dec 2016
Edited: Walter Roberson
on 15 Dec 2016
5 Comments
Walter Roberson
on 15 Dec 2016
Edited: Walter Roberson
on 15 Dec 2016
Could you try this test interactively:
ax = gca;
plot(ax, randn(1,20));
set(ax,'ButtonDownFcn',@(sec,obw) set(ax,'XAxisLocation','origin'));
and then go and click in the axes. Does the origin change?
Perhaps you could attach your code and .fig file?
fulvio schettino
on 16 Dec 2016
Edited: fulvio schettino
on 16 Dec 2016
Walter Roberson
on 17 Dec 2016
R2015b was the version version that supported 'origin' for axes locations.
fulvio schettino
on 17 Dec 2016
Categories
Find more on Graphics Object Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!