table stackedplot with log y-axis

9 views (last 30 days)
men8th
men8th on 30 Sep 2019
Edited: Adam Danz on 27 Sep 2021
Is there a way to modify the axes properties of a plot of table data created using stackedplot. Specifically I'd like log y-axes. It appears that the relevant properties are not exposed so I'll have to do it the long way, unless anyone has any suggestions. I'd be happy to be proved wrong.

Answers (1)

Adam Danz
Adam Danz on 19 Nov 2020
Edited: Adam Danz on 27 Sep 2021
Update: In Matlab R2021b or later, set the yscale property of stackedplot to log.
Prior ot R2021b, you can set the scale of the y-axis in stackedplot using the undocumented NodeChildren property. However, the vertical reference line and text that tracks the mouse position will no longer work and a warning will continually appear when the listener is invoked. Therefore, that warning should be turned off (see below).
h = stackedplot(1:50,[exp(1:50)',exp(1:.5:25.5)']);
ax = findobj(h.NodeChildren, 'Type','Axes');
set(ax,'YScale','log')
% Turn off warning that
warning('off','MATLAB:callback:error')
% Don't forget to turn it back on
% warning('on','MATLAB:callback:error')
To set the yscale of a specific axis, n
% set(ax(n),...

Categories

Find more on 3-D Scene Control 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!