首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自matplotlib的泡菜图:2

来自matplotlib的泡菜图:2
EN

Stack Overflow用户
提问于 2018-01-23 07:54:48
回答 2查看 1.1K关注 0票数 0

Pickle figures from matplotlib之后,我试图从泡菜中加载一个数字。我使用的代码与响应中建议的修改相同。保存脚本:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import pickle as pl

# Plot simple sinus function
fig_handle = plt.figure()
x = np.linspace(0,2*np.pi)
y = np.sin(x)
plt.plot(x,y)
# plt.show()

# Save figure handle to disk
pl.dump(fig_handle,file('sinus.pickle','wb'))

加载脚本:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import pickle as pl
import numpy as np

# Load figure from disk and display
fig_handle = pl.load(open('sinus.pickle', 'rb'))
fig_handle.show()

保存脚本生成一个名为"sinus.pickle“的文件,但是加载文件没有显示预期的数字。有什么建议吗?

Python 2.7.13 matplotlib 2.0.0 numpy 1.12.1

附注:根据一项建议,将fig_handle.show()替换为pat.show(),这会产生一个错误:跟踪(最近一次调用):

代码语言:javascript
复制
File "/usr/local/lib/python2.7/
   site-packages/matplotlib/backends/backend_macosx.py", line 109, 
   in_set_device_scale
   self.figure.dpi = self.figure.dpi / self._device_scale * value
   File "/usr/local/lib/python2.7/site-packages/matplotlib/figure.py", 
   line  416, in _set_dpi
   self.callbacks.process('dpi_changed', self)
   File "/usr/local/lib/python2.7/site-packages/matplotlib/cbook.py", 
   line  546, in process
   if s in self.callbacks:
   AttributeError: 'CallbackRegistry' object has no attribute 'callbacks'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-04 11:15:19

最后的解决方案包括将fig_handle.show()修改为plt.show(),并根据ImportanceOfBeingErnest的建议修改"TkAgg“后端

票数 0
EN

Stack Overflow用户

发布于 2018-01-23 08:01:58

你所谓的“加载脚本”没有任何意义。

从您在问题中提供的链接来看,加载选定的图形非常简单,如下所示:

代码语言:javascript
复制
# Load figure from disk and display
fig_handle2 = pl.load(open('sinus.pickle','rb'))
fig_handle2.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48396687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档