Python matplotlib绘图figsave问题
昨天我遇到了一件我想更详细地了解的事情: 下面的代码Python matplotlib绘图figsave问题,python,matplotlib,save,scaling,figure,Python,Matplotlib,Save,Scaling,Figure,昨天我遇到了一件我想更详细地了解的事情: 下面的代码 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=
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)
通过pycharm中的ipython逐行启动可生成此png文件:
虽然同样的代码通过magic命令%run启动。。。pycharm中的ipython再次返回此png文件:
我已经明白了,我得到的是我的“图片”缩放到一个数字的标准尺寸,没有figsize。我还知道,用plt.figure(figsize=(0.5,3),dpi=100)之类的东西替换plt.figure()可以解决这个问题,但我仍然想知道,为什么两种启动方式一开始都不同。那么,在使用magic%run命令启动过程中,会发生什么导致转换呢