CNK CNK -4 years ago 193
Python Question

matplotlib set shared axis

Using matplotlib, it seems the only time to set the

sharex
or
sharey
axis parameters are during sub_plot creation (
add_subplot()
,
subplot()
,
subplots()
). For an
axes
class there are methods for getting axis sharing (
get_shared_x_axes()
,
get_shared_y_axes()
), but no corresponding methods for setting sharing. Maybe this is an API oversight, or perhaps it did not fit architecturally.

Is there a way to change the shared axis parameter?

For those that ask why: I'm using a matrix of plots dynamically, and can control this using view limits, but it just seems like there could be an easier way, and turning sharing on/off and using autoscale would be it.

Thanks.

Answer Source

The answer is that the way shared axes are set up is to share some of the internal state of the two axes. It is a tad tricky to get right and the code to do it on-the-fly (both linking and unlinking) doesn't exist in the library yet.

See this PR for work on-going work on un-linking axes. Help testing and developing this feature would be appreciated.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download