Skip to content

Y-labels shifted #1571

Closed
Closed

Description

@dopplershift

Y-labels on colorbars are no longer centered any more. This is readily seen by running pylab_examples/contourf_demo.py. A git bisect shows the problem was caused by b9fba92.

This same commit has also resulted in shifted y-axis labels for axes created using the axes_grid toolkit. The easiest way to see this is to add y-axis labels to the axes_grid/demo_axes_grid.py. Tweaking that demo as below shows both problems:

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import AxesGrid

def get_demo_image():
    import numpy as np
    from matplotlib.cbook import get_sample_data
    f = get_sample_data("axes_grid/bivariate_normal.npy", asfileobj=False)
    z = np.load(f)
    # z is a numpy array of 15x15
    return z, (-3,4,-4,3)

def demo_grid_with_each_cbar(fig):
    """
    A grid of 2x2 images. Each image has its own colorbar.
    """

    grid = AxesGrid(F, 111, # similar to subplot(122)
                    nrows_ncols = (2, 2),
                    axes_pad = 0.1,
                    label_mode = "1",
                    share_all = True,
                    cbar_location="right",
                    cbar_mode="each",
                    cbar_size="7%",
                    cbar_pad="2%",
                    )
    Z, extent = get_demo_image()
    for i in range(4):
        im = grid[i].imshow(Z, extent=extent, interpolation="nearest")
        grid.cbar_axes[i].colorbar(im)
    grid[2].set_ylabel('Long y label')
    grid.cbar_axes[3].set_ylabel('Long Cbar label')


    # This affects all axes because we set share_all = True.
    grid.axes_llc.set_xticks([-2, 0, 2])
    grid.axes_llc.set_yticks([-2, 0, 2])



F = plt.figure(1, (5.5, 2.5))

F.subplots_adjust(left=0.05, right=0.98)

demo_grid_with_each_cbar(F)

plt.draw()
plt.show()

The commit makes sense as causing the problem, but I'm not sure why.

Activity

  1. ghost assigned on Dec 7, 2012
  2. dopplershift commented on Dec 12, 2012

    @dopplershift
    ContributorAuthor

    It turns out that the change to use "anchored" neglected to update the axis's set_label_position(). The commit (and PR) fix this directly. However, as discussed in the PR, I'm not sure this is the best way--axis ends up thinking way too much about text rotation.

  3. added 2 commits that reference this issue on Jan 16, 2013
  4. dopplershift commented on Jan 16, 2013

    @dopplershift
    ContributorAuthor

    Fixed by b2a80a7.

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

Metadata

Metadata

Assignees

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