这将在GUI中显示图形:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 4, 9])
plt.show()
但我如何将图形保存到文件(例如foo.png)中?
这将在GUI中显示图形:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 4, 9])
plt.show()
但我如何将图形保存到文件(例如foo.png)中?
当前回答
如前所述,您可以使用:
import matplotlib.pyplot as plt
plt.savefig("myfig.png")
用于保存您正在显示的任何IPhython图像。或者换个角度(从不同的角度看),如果你曾经使用过open cv,或者你已经导入了open cv的话,你可以去:
import cv2
cv2.imwrite("myfig.png",image)
但这只是为了以防万一,如果您需要使用OpenCV。否则plt.savefig()就足够了。
其他回答
使用matplotlib.pyplot.savefig时,可以通过扩展名指定文件格式:
from matplotlib import pyplot as plt
plt.savefig('foo.png')
plt.savefig('foo.pdf')
这分别提供光栅化或矢量化输出。此外,图像周围有时存在不希望有的空白,可以通过以下方式删除:
plt.savefig('foo.png', bbox_inches='tight')
注意,如果显示绘图,plt.show()应跟随plt.savefig();否则,文件图像将为空。
你可以这样做:
def plotAFig():
plt.figure()
plt.plot(x,y,'b-')
plt.savefig("figurename.png")
plt.close()
您可以使用任何扩展名(png、jpg等)和所需的分辨率保存图像。这里有一个功能来保存您的身材。
import os
def save_fig(fig_id, tight_layout=True, fig_extension="png", resolution=300):
path = os.path.join(IMAGES_PATH, fig_id + "." + fig_extension)
print("Saving figure", fig_id)
if tight_layout:
plt.tight_layout()
plt.savefig(path, format=fig_extension, dpi=resolution)
“fig_id”是您希望保存数字的名称。希望它有帮助:)
解决方案是:
pylab.savefig('foo.png')
如前所述,您可以使用:
import matplotlib.pyplot as plt
plt.savefig("myfig.png")
用于保存您正在显示的任何IPhython图像。或者换个角度(从不同的角度看),如果你曾经使用过open cv,或者你已经导入了open cv的话,你可以去:
import cv2
cv2.imwrite("myfig.png",image)
但这只是为了以防万一,如果您需要使用OpenCV。否则plt.savefig()就足够了。