Is it possible to make a plot with two independent y-axes such that the tick marks align? Below is an example of half of the solution. I've doubled the y-axis using twinx, but the tick marks aren't aligned and the gridlines form an awkward pattern on the plot. Is there a way to make the tick marks share the same positions, but correspond to different y-values? In the example below, I would like the tick mark for 5 on the left to be at the same vertical position as the tick mark for 6 on the right. import numpy as np a = np.random.normal(10, 3, size=20) b = np.random.normal(20, 5, size=40) fig, ax1 = plt.subplots() ax2 = ax1.twinx() ax1.hist(a) ax2.hist(b) The overarching point of this exercise is to make the grid lines overlap for the two axes. Continue reading...