我正在尝试编写一个数据分析工具,该工具包含一个matplotlib窗口,其中两个图形彼此叠加,另一个滑动条与其中一个图形交互。
在当前状态下,它看起来像是:
我的问题是我想要使用窗口中可用的空间,因此我在绘制前调用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()
移动到图表下方,而不必手动将画布位置提供给窗口中的所有对象?
答案 0 :(得分:0)
我没有用...
<script>
import {sendList, getLists, deleteList} from '../statics/functions.js'
...
created() { this.getLists();},
...
来解决这个问题,但是您可以使用subplots_adjust()
来解决。进行一些手动调整后,它将带您到那里。
关键是将tight_layout()
参数设置得足够高,以使所有滑块都适合于子图。使用bottom
,left
,right
,可以设置边距,以便子图填充所需的空间。通过使用top
和wspace
,可以设置各个子图之间要使用多少空间。
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
。