Python matplotlib和libpng不兼容问题
这个问题困扰了我这么久。Python matplotlib和libpng不兼容问题,python,matplotlib,libpng,Python,Matplotlib,Libpng,这个问题困扰了我这么久。 最初,在使用matplotlib绘制某些内容后,我可以轻松保存图像。 然而,在安装了scipy之后,我无法再保存我的图像 (我使用pip安装了matplot和scipy。) 我试图查找一些信息,但仍然无法解决问题。 我的操作系统是Mac OS X Lion(10.7) 我认为以下链接是一些相关问题 似乎我可以重新链接库或设置DYLD\u LIBRARY\u路径(实际上我不知道这是什么… 或者我必须重新编译一些东西? 顺便说一句,我对基于linux的系统还很陌生,
最初,在使用matplotlib绘制某些内容后,我可以轻松保存图像。
然而,在安装了scipy之后,我无法再保存我的图像
(我使用pip安装了matplot和scipy。)
我试图查找一些信息,但仍然无法解决问题。
我的操作系统是Mac OS X Lion(10.7)
我认为以下链接是一些相关问题
似乎我可以重新链接库或设置DYLD\u LIBRARY\u路径(实际上我不知道这是什么…
或者我必须重新编译一些东西?
顺便说一句,我对基于linux的系统还很陌生,所以如果有人能用一种相对简单的方式来解释,那就太好了。 非常感谢。
以下是一些错误消息:
libpng warning: Application was compiled with png.h from libpng-1.5.4
libpng warning: Application is running with png.c from libpng-1.4.10
libpng warning: Incompatible libpng version in application and library
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/Library/Python/2.7/site-packages/matplotlib/backends/backend_macosx.pyc in save_figure(self, *args)
476 if filename is None: # Cancel
477 return
--> 478 self.canvas.print_figure(filename)
479
480 def prepare_configure_subplots(self):
/Library/Python/2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
2094 orientation=orientation,
2095 bbox_inches_restore=_bbox_inches_restore,
-> 2096 **kwargs)
2097 finally:
2098 if bbox_inches and restore_bbox:
/Library/Python/2.7/site-packages/matplotlib/backend_bases.pyc in print_png(self, *args, **kwargs)
1856 from backends.backend_agg import FigureCanvasAgg # lazy import
1857 agg = self.switch_backends(FigureCanvasAgg)
-> 1858 return agg.print_png(*args, **kwargs)
1859
1860 def print_ps(self, *args, **kwargs):
/Library/Python/2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
502 _png.write_png(renderer._renderer.buffer_rgba(),
503 renderer.width, renderer.height,
--> 504 filename_or_obj, self.figure.dpi)
505 finally:
506 if close:
RuntimeError: Could not create write struct
如果保存JPG,则不需要PNG支持。也不需要PIL:
import pylab as pl
pl.plot([0.2,0.3,0.4], [0.1,0.2,0.3], label='series name')
pl.xlabel('x label')
pl.ylabel('y label')
pl.ylim([0.0, 1.0])
pl.xlim([0.0, 1.0])
pl.title('Title')
pl.legend(loc="lower left")
pl.savefig('output.jpg')
pl.show()
你想解决这个PNG问题,还是只想在Mac上使用matplotlib?是的,我必须解决PNG问题,因为出于某些原因我必须保存图像。保存PNG?例如,一个解决办法是解决JPG。是的,我已经考虑过了,但似乎我仍然必须首先将其保存为PNG。(见:)不正确。除非您明确没有安装jpg支持,否则plt.savefig('output.jpg')可以工作。更好的选择,IMO:另存为pdf!这是矢量图形,你可以得到一些有趣的东西,比如文本的可选择性。