Question

How to scale the y-axis with Matplotlib? I don't want to change the y-limit, I just want to extend the physical space.

^      ^
|      |
|      |
+----> |
Before +---->
       After
Was it helpful?

Solution

Just use a larger height value when you instantiate the figure:

from pylab import *
x = linspace(0, 10*pi, 2**10)
y = sin(x)
figure(figsize=(5, 10))
plot(x, y)
show()

Where figsize=(width, height) and defaults to (8, 6). Values are in inches (the dpi keyword arg can be used to define the DPI for the figure, and there's a default value in your matplotlibrc file)

For a figure already created, I believe there is a set_size_inches(width, height) method.

OTHER TIPS

Use the subplots_adjust function to control the abount of whitespace:

fig.subplots_adust(bottom=0.05, top=0.95)

There is an icon on the toolbar to do this interactively with a widget

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top