- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 ipython 笔记本中使用以下代码将条形图保存为 .png 文件:plt.savefig(文件名, bbox_inches='tight')
它在我的电脑上运行,我试过在另一台电脑上运行脚本。但是,当我尝试在另一台机器上运行它时出现以下错误。
AssertionError
---> 119 plt.savefig(filename,bbox_inches='tight')
C:\Python27\lib\site-packages\matplotlib\pyplot.pyc in savefig(*args,**kwargs)
---> 472 self.canvas.print_figure(*args,**kwargs)
C:\Python27\lib\site-packages\matplotlib\figure.pyc in savefig(self,*args,**kwargs)
---> 1363 self.canvas.print_figure(*args,**kwargs)
C:\Python27\lib\site-packages\matplotlib\backend_bases.pyc
---> 2054 bbox_inches = self.figure.get_tightbbox(renderer)
C:\Python27\lib\site-packages\matplotlib\figure.pyc in get_tightbbox(self,renderer)
---> 1496 _bbox = Bbox.union([b for b in bb if b.width!=0 or b.height!=0])
C:\Python27\lib\site-packages\matplotlib\transforms.pyc in union(bboxes)
---> 714 assert(len(bboxes))
AssertionError:
删除 bbox_inches='tight' 参数似乎解决了错误并保存了一个文件,但那里没有图片,只有一个完全空白的 .png 文件。
我确定我们的python、matplotlib和其他包的版本都是一样的。有没有人遇到过这个?我认为这可能是 matplotlib 中的一个错误,但那是没有意义的,因为它在我的电脑上运行良好,而且我们有相同的版本。有什么想法或建议吗?
最佳答案
这通常意味着没有图形被渲染到 Canvas 上。这也解释了为什么当您删除参数时没有相应的图像!例如:
import pylab
pylab.savefig('test', bbox_inches='tight')
产生类似的错误:
pylab.savefig('test', bbox_inches='tight')
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 471, in savefig
return fig.savefig(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1185, in savefig
self.canvas.print_figure(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py", line 1985, in print_figure
bbox_inches = self.figure.get_tightbbox(renderer)
File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1326, in get_tightbbox
_bbox = Bbox.union([b for b in bb if b.width!=0 or b.height!=0])
File "/usr/lib/pymodules/python2.7/matplotlib/transforms.py", line 675, in union
assert(len(bboxes))
关于python - matplotlib 中的 bbox_inches ='tight' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16182936/
我经常使用 matplotlib 生成单个图形,这些图形应该垂直或水平对齐,例如在 LaTeX 文档中。我的目标是: 避免在所有图中留出过多的边距或剪裁。对于独立图形,这可以通过使用 bbox_inc
似乎 savefig 中的 bbox_inches='tight' 选项忽略了没有文本的注释。这是我的示例代码 import matplotlib.pyplot as plt fig = plt.fi
当您在 Matplotlib 的 savefig() 函数中设置 bbox_inches = 'tight' 时,它会尝试找到封装图形窗口中所有内容的最紧密的边界框。不幸的是,最紧密的边界框似乎包含不
我在 ipython 笔记本中使用以下代码将条形图保存为 .png 文件: plt.savefig(文件名, bbox_inches='tight') 它在我的电脑上运行,我试过在另一台电脑上运行脚本
我必须绘制一个矢量图,我只想看到没有轴、标题等的矢量,所以我尝试这样做: pyplot.figure(None, figsize=(10, 16), dpi=100) pyplot.quiver(da
我正在制作一个嵌入 latex 中的出版物质量图,我希望在大小和字体方面非常精确(以便文章中的字体与图中的字体大小相同)。为了防止绘图在 latex 中缩放,我想要它的确切尺寸,但我不能。这是我的代码
我正在制作一个嵌入 latex 中的出版物质量图,我希望在大小和字体方面非常精确(以便文章中的字体与图中的字体大小相同)。为了防止绘图在 latex 中缩放,我想要它的确切尺寸,但我不能。这是我的代码
在 ipython notebook 中使用 matplotlib 内联后端时,默认行为是使用 bbox_inches='tight' 通过 savefig() 在内部生成嵌入的 png 图像。这消除
我正在尝试生成一个图像,将图例放在轴之外。但我发现如果我使用 bbox_inches='tight'在 plt.savefig()方法,生成的图像不包含图例。用于说明的最小工作示例如下: import
我想以精确的分辨率(例如 800x600)绘制图表,但使用 bbox_inches='tight' 时,绘图不是全分辨率,而是较小。我可以手动将图像尺寸(以英寸为单位)设置为大约(9.2,6.5),结
我是一名优秀的程序员,十分优秀!