|
From: Mark B. <ma...@gm...> - 2015-04-08 12:21:38
|
import matplotlib.pyplot as plt %matplotlib qt fig, axes = plt.subplots(nrows=2,sharex=True) plt.setp(axes[0], aspect=1.0, adjustable='box-forced') plt.show() This used to create two axes of the same horizontal size. What it does now is that it scales the upper axis so that the aspect=1.0 by changing the physical size of the axis. But the physical size of the lower axis is not changed, while this used to be the case in the past (but that may have been a few years back). That sure used to be the desired behavior. Thanks for your help, Mark On Wed, Apr 8, 2015 at 2:16 PM, Thomas Caswell <tca...@gm...> wrote: > Can you please provide a minimal, but complete and runnable example of > what you are doing? > > On Wed, Apr 8, 2015, 08:13 Mark Bakker <ma...@gm...> wrote: > >> Thanks, Thomas. >> >> That works indeed, but it doesn't make the figure adjustable, which is >> what I wanted (that the physical size of the axes changes while the aspect >> ratio is fixed to 1). I guess that functionality has been taken out. >> >> Mark >> >> On Wed, Apr 8, 2015 at 12:50 PM, Thomas Caswell <tca...@gm...> >> wrote: >> >>> What are the data limits you are using? >>> >>> I suspect they you are over constraining the system/order of operations >>> issue. Try dropping the adjustable setting and pre setting both the data >>> limits and the approximate size in figure fraction (ex via grid spec) of >>> the axes. >>> >>> Tom >>> >>> On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm...> wrote: >>> >>>> Hello list, >>>> >>>> I want to axes above each other. They share the x-axis. The top figure >>>> has 'aspect=1' (it is a map), the bottom figure shows a cross-section along >>>> a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this >>>> with code, for example like this: >>>> >>>> fig, axes = plt.subplots(nrows=2,sharex=True) >>>> plt.setp(axes[0], aspect=1.0, adjustable='box-forced') >>>> >>>> then the physical size of the top axes is much sorter than the physical >>>> size of the bottom axes (although they are poperly linked, as they have the >>>> same data limit, and when zooming in the top figure, the bottom figure >>>> adjusts). It just looks weird, as the size of the horizontal axis of the >>>> bottom figure should have the same physical size as the horizontal axis of >>>> the top figure. This used to be possible (a few years ago; haven't tried it >>>> for a while). Is there a way to do it with the current matpotlib? (1.4.3) >>>> >>>> Thanks, >>>> >>>> Mark >>>> ------------------------------------------------------------ >>>> ------------------ >>>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>>> Develop your own process in accordance with the BPMN 2 standard >>>> Learn Process modeling best practices with Bonita BPM through live >>>> exercises >>>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >>>> event?utm_ >>>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ >>>> campaign=VA_SF_______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>> >> |