|
From: Donovan P. <don...@gm...> - 2009-10-06 01:00:23
|
Hello, I am new to matplotlib and am having trouble understanding how to set the size of a subplot when a figure contains multiple subplots. In particular, I have been playing around with the scatter_hist.py demo at http://matplotlib.sourceforge.net/examples/axes_grid/scatter_hist.html. A simplified version of this code is given below: ***************** import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.axes_grid import make_axes_locatable fig = plt.figure(1, figsize=(4,4)) axScatter = plt.subplot(111) divider = make_axes_locatable(axScatter) axHisty = divider.new_horizontal(1.2, pad=0.5, sharey=axScatter) fig.add_axes(axHisty) x = np.random.randn(1000) y = np.random.randn(1000) axScatter.scatter(x, y) axHisty.hist(x, orientation='horizontal') plt.draw() plt.show() ***************** I'd like to have direct control over the size of the scatter plot in this figure. As it stands, I can 'sort of' control its size by changing the figsize property of the figure. I say 'sort of' since the size of any labels also come into play here. Is it possible to directly make the scatter plot a certain size (say, 3 x 2 inches), set the figure size independently (say, 5 x 4 inches), and have the histogram size be set based on the scatter plot height and width set in divider.new_horizontal (in this case to 3 x 1.2 inches)? I realize that in this example, it probably seems silly to not just change figsize, but I am working with a more complicated plot in reality where I'd like precise control over the size of the initial subplot since the aspect ratio is important to me. I can then adjust the figsize to make sure all the labels fit in nicely. Thanks for any and all help. Cheers, Donovan |