Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Y-labels shifted #1571
Y-labels on colorbars are no longer centered any more. This is readily seen by running
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
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.set_ylabel('Long y label') grid.cbar_axes.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.
added a commit
Dec 12, 2012
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.