昨天我发现了一些我想要更详细了解的内容: 以下代码
import matplotlib.pyplot as plt
import numpy as np
if __name__ == '__main__':
plt.ion()
fig = plt.figure()
image_comb = np.random.random((300,50,4))
plt.imshow(image_comb)
plt.plot([0,50],[0,300], lw=20, color = 'red', alpha=0.3)
plt.xlim(0,50)
plt.ylim(0,300)
plt.axis('off')
[ax] = fig.get_axes()
extent = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
plt.savefig('test_fig.png', bbox_inches = extent)
plt.close(fig)
虽然通过魔术命令%run启动了相同的代码...再次在pycharm中的ipython返回此png文件:
我已经明白了,我得到的是我的"图片"缩放到数字的标准尺寸而没有figsize。我进一步知道,有可能通过用plt.figure(figsize =(0.5,3),dpi = 100)替换plt.figure()来解决问题,但我仍然想知道为什么两种启动方式都有所不同第一名。那么在启动期间使用导致转换的魔术%run命令会发生什么呢?