matplotlib需要安装哪些其他库来编写tiff文件?

时间:2015-08-06 17:44:02

标签: python matplotlib ipython-notebook anaconda

我正在使用matplotlib(版本1.4)来创建我需要以.tiff格式保存的图像。我正在使用%matplotlib inline后端在IPython笔记本(版本3.2)中进行绘图。通常我使用Anaconda发行版,并且能够将matplotlib数字保存到.tiff没有问题。但是,我正在尝试将一组最小的依赖项组合在一起,我可以将其作为conda环境共享。目前,我正在使用:

  • 蟒= 2.7
  • IPython的笔记本
  • 烧瓶
  • numpy的= 1.9
  • SciPy的= 0.16
  • 熊猫= 0.16
  • numexpr = 2.3
  • statsmodels = 0.6
  • seaborn = 0.6
  • matplotlib = 1.4
  • scikit学习= 0.16
  • scikit图像= 0.10
  • Mayavi的= 4.3

当我在此环境中运行代码时,出现错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-14-3d911065b472> in <module>()
     56 f.text(.01, .38, "B", size=14)
     57 
---> 58 savefig(f, "switch_control")

<ipython-input-6-4016f8a0f32d> in savefig(fig, name)
----> 4     fig.savefig("figures/{}.tiff".format(name), dpi=300)

/Users/mwaskom/anaconda/envs/punch/lib/python2.7/site-packages/matplotlib/figure.pyc in savefig(self, *args, **kwargs)
   1474             self.set_frameon(frameon)
   1475 
-> 1476         self.canvas.print_figure(*args, **kwargs)
   1477 
   1478         if frameon:

/Users/mwaskom/anaconda/envs/punch/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   2117 
   2118         # get canvas object and print method for format
-> 2119         canvas = self._get_output_canvas(format)
   2120         print_method = getattr(canvas, 'print_%s' % format)
   2121 

/Users/mwaskom/anaconda/envs/punch/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in _get_output_canvas(self, format)
   2059         raise ValueError('Format "%s" is not supported.\n'
   2060                          'Supported formats: '
-> 2061                          '%s.' % (format, ', '.join(formats)))
   2062 
   2063     def print_figure(self, filename, dpi=None, facecolor='w', edgecolor='w',

ValueError: Format "tiff" is not supported.
Supported formats: eps, pdf, pgf, png, ps, raw, rgba, svg, svgz.

我猜测matplotlib中的.tiff支持取决于整个Anaconda发行版中包含的其他库之一,但是,通过搜索它并不清楚这可能是哪一个。

有趣的是,如果我打开IPython终端并使用默认后端绘图(Mac OSX对我来说),它可以正常工作。所以这个问题与IPython笔记本内联后端有关,尽管如上所述,使用完整的anaconda发行版时效果很好。

在我这两种情况下

import matplotlib as mpl
mpl.get_backend()

显示

'module://IPython.kernel.zmq.pylab.backend_inline'

我还需要安装什么才能获得对.tiff文件的支持?

1 个答案:

答案 0 :(得分:4)

显然,通过PIL安装conda可以在matplotlib中为基于Agg的后端启用.tiff支持。