matplotlib图表区域与绘图区域

时间:2015-05-13 08:11:21

标签: python matplotlib plot

在matplotlib中,如何控制绘图区域的大小与图表的总面积?

我使用以下代码设置图表区域的大小:

fig = plt.gcf()
fig.set_size_inches(8.11, 5.24)

但是,我不知道如何设置绘图区域的大小,因此当我输出图表时,x轴上的图例变成了一半。

1 个答案:

答案 0 :(得分:1)

我认为一个例子可以帮到你。图形大小figsize可以设置绘图所在窗口的大小。轴列表参数[left, bottom, width, height]确定图中图形的位置以及覆盖的区域。

因此,如果您运行下面的代码,您将看到窗口大小为8x6英寸。在该窗口内将是一个占据总面积0.8x0.8的主要情节big_ax。第二个地块small_ax的面积为总面积的0.3x0.3。

import matplotlib.pyplot as plt
import numpy as np

x1 = np.random.randint(-5, 5, 50)
x2 = np.random.randn(20)

fig = plt.figure(figsize=(8,6))  # sets the window to 8 x 6 inches

# left, bottom, width, height (range 0 to 1)
# so think of width and height as a percentage of your window size
big_ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 
small_ax = fig.add_axes([0.52, 0.15, 0.3, 0.3]) # left, bottom, width, height (range 0 to 1)

big_ax.fill_between(np.arange(len(x1)), x1, color='green', alpha=0.3)
small_ax.stem(x2)

plt.setp(small_ax.get_yticklabels(), visible=False)
plt.setp(small_ax.get_xticklabels(), visible=False)
plt.show()

enter image description here