Description
Bug report
Bug summary
When calling set_size_inches
within an event handler, the new figure width is as requested, but the new height is not. This occurs with the TkAgg
backend, but not the Qt5Agg
backend (which suggests that this issue may not be related to #7302, since that issue is also reported to occur with Qt5Agg
).
Code for reproduction
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8, 6))
def press(event):
print('Before resize, size is ', fig.get_size_inches())
sz = 1.1 * fig.get_size_inches()
print('Size will be set to ', sz)
fig.set_size_inches(sz, forward=True)
fig.canvas.draw()
print('After resize, size is ', fig.get_size_inches())
fig.canvas.mpl_connect('key_press_event', press)
fig.show()
input()
Pressing any key while the cursor is within the figure will attempt to resize the figure. The requested and actual sizes are printed to the console. If
import matplotlib
matplotlib.use('Qt5Agg')
is added at the start of this example, resizing behaves as expected.
Matplotlib version
- Operating system: Ubuntu 16.04 64 bit
- Matplotlib version: 2.1.1 (installed with pip)
- Matplotlib backend: TkAgg
- Python version: 3.5 (Ubuntu packaged version)