将 matplotlib 图保存为 tiff 时出错
Error in saving matplotlib plot to tiff
我可以使用 .png 格式使用 matplotlib 成功保存绘图。但是,当我尝试将其保存为 .tiff 格式时,出现此错误:
plt.savefig(base_dir+'Plots'+os.sep+path+os.sep+title+'.tiff', dpi=500)
错误:
File "C:/Users/r/workspace/FLE/plots.py", line 1310, in plot_by_region
plt.savefig(base_dir+'Plots'+os.sep+path+os.sep+title+'.tiff', dpi=500)
File "C:\Anaconda64\lib\site-packages\matplotlib\pyplot.py", line 688, in savefig
res = fig.savefig(*args, **kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\figure.py", line 1539, in savefig
self.canvas.print_figure(*args, **kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 196, in print_figure
FigureCanvasAgg.print_figure(self, *args, **kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
**kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\backends\backend_agg.py", line 594, in print_tif
dpi=dpi)
File "C:\Anaconda64\lib\site-packages\PIL\Image.py", line 1665, in save
save_handler(self, fp, filename)
File "C:\Anaconda64\lib\site-packages\PIL\TiffImagePlugin.py", line 1320, in _save
offset = ifd.save(fp)
File "C:\Anaconda64\lib\site-packages\PIL\TiffImagePlugin.py", line 608, in save
if len(data) <= 4:
TypeError: object of type 'int' has no len()
回滚到 Pillow 2.9.0 并保存到 .tiff 有效。看这里:https://github.com/python-pillow/Pillow/issues/1524
我可以使用 .png 格式使用 matplotlib 成功保存绘图。但是,当我尝试将其保存为 .tiff 格式时,出现此错误:
plt.savefig(base_dir+'Plots'+os.sep+path+os.sep+title+'.tiff', dpi=500)
错误:
File "C:/Users/r/workspace/FLE/plots.py", line 1310, in plot_by_region
plt.savefig(base_dir+'Plots'+os.sep+path+os.sep+title+'.tiff', dpi=500)
File "C:\Anaconda64\lib\site-packages\matplotlib\pyplot.py", line 688, in savefig
res = fig.savefig(*args, **kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\figure.py", line 1539, in savefig
self.canvas.print_figure(*args, **kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 196, in print_figure
FigureCanvasAgg.print_figure(self, *args, **kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
**kwargs)
File "C:\Anaconda64\lib\site-packages\matplotlib\backends\backend_agg.py", line 594, in print_tif
dpi=dpi)
File "C:\Anaconda64\lib\site-packages\PIL\Image.py", line 1665, in save
save_handler(self, fp, filename)
File "C:\Anaconda64\lib\site-packages\PIL\TiffImagePlugin.py", line 1320, in _save
offset = ifd.save(fp)
File "C:\Anaconda64\lib\site-packages\PIL\TiffImagePlugin.py", line 608, in save
if len(data) <= 4:
TypeError: object of type 'int' has no len()
回滚到 Pillow 2.9.0 并保存到 .tiff 有效。看这里:https://github.com/python-pillow/Pillow/issues/1524