matplotlib紧密布局与情节和滑块对象

时间:2015-06-05 14:05:13

标签: python matplotlib graph slider

我正在尝试编写一个数据分析工具,该工具包含一个matplotlib窗口,其中两个图形彼此叠加,另一个滑动条与其中一个图形交互。

在当前状态下,它看起来像是:

enter image description here

我的问题是我想要使用窗口中可用的空间,因此我在绘制前调用tight_layout()但是滑块对象没有移动到图形下方,它保持在我首先使用以下方式绘制它:

axamp  = plt.axes([0.1, 0, 0.8, 0.03], axisbg=axcolor)
samp = Slider(axamp, 'Amp', 0.1, 10.0, valinit=a0)

有没有办法让它仍然使用tight_layout()移动到图表下方,而不必手动将画布位置提供给窗口中的所有对象?

1 个答案:

答案 0 :(得分:0)

我没有用... <script> import {sendList, getLists, deleteList} from '../statics/functions.js' ... created() { this.getLists();}, ... 来解决这个问题,但是您可以使用subplots_adjust()来解决。进行一些手动调整后,它将带您到那里。 关键是将tight_layout()参数设置得足够高,以使所有滑块都适合于子图。使用bottomleftright,可以设置边距,以便子图填充所需的空间。通过使用topwspace,可以设置各个子图之间要使用多少空间。

hspace

如果子图包含fig, axes = plt.subplots(4, 4, figsize=(9,10)) fig.subplots_adjust(left=0.05, bottom=0.15, right=0.95, top=0.98, wspace=0.05, hspace=0.05) ,那么imshow也会起作用,因为figsize参数的默认值为aspect,可确保像素为正方形。因此,如果您不介意拉伸图像,请使用None或设置figsize