imshow() subplots with shared axes generate unwanted white spaces · Issue #1789 · matplotlib/matplotlib · GitHub
Skip to content

imshow() subplots with shared axes generate unwanted white spaces #1789

Description

@rycmak

When plotting two (or more) subplots which share the same axes, I see large areas of white spaces within the plots as seen here:
sharexImage

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)
ax.imshow(np.random.random((10,10)))
ax.autoscale(False)
ax2 = fig.add_subplot(2, 1, 2, sharex=ax, sharey=ax)
ax2.imshow(np.random.random((10,10)))
ax2.autoscale(False)
plt.show()

These white spaces persist even after autoscale(False), ax.set_xlim(0, 10), and/or ax.set_xbound(0, 10). One way to get rid of the white spaces is to set aspect=auto in imshow(), but this is not always ideal.
One could also set a figsize and manually adjust the axes to get the image contained exactly within the figure without white spaces, but resizing the figure would make the white spaces appear again.

Is there a way to correct for this behaviour?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions