【问题标题】:Error in saving matplotlib plot to tiff将 matplotlib 图保存到 tiff 时出错
【发布时间】:2016-01-29 19:06:17
【问题描述】:

我可以使用 matplotlib 以 .png 格式成功保存绘图。但是,当我尝试将其保存为 .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()

【问题讨论】:

    标签: python matplotlib tiff


    【解决方案1】:

    回滚到 Pillow 2.9.0 并保存到 .tiff 有效。见这里:https://github.com/python-pillow/Pillow/issues/1524

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • @FabioLamanna,答案的基本部分在我的答案中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多