如果我在ipython笔记本中处理matplotlib
内联图,请执行以下操作:
figure = plt.figure()
ax = figure.gca(projection="3d")
graph = np.empty([len(thetaYield),3])
for g, tY in zip(graph, thetaYield):
sample = HWtoPS(xiYield, rhoYield, tY)
g[...] = sample[:]
ax.plot(graph[:,0],graph[:,1], graph[:,2])
plt.show()
情节按照预期在我的笔记本中内嵌绘制。
现在我想添加一些数据到这个图:
principalStress, vectors = eig(sigma)
ax.scatter(principalStress[0], principalStress[1], principalStress[2])
plt.show()
没有错误,但没有绘制情节。
我预期使用其他数据获取我的情节的“更新”版本。
如何做到这一点?
答案 0 :(得分:1)
matplotlib
渲染器目前,IPython
"内联"无法做到这一点。但是,如果您选择将Renderer
1>}框架的 matplotlib
部分更改为另一个,则限制了.show()
方法的单例调用没有伤害,您可以事后修改对象的内容,并由Renderer
重新处理。
简单地:
添加指令(IPython 魔术) %matplotlib qt
&安培;
使用其他matplotlib
来电,因为您希望修改/更新 figure
对象
(我喜欢在原型设计阶段和复杂数据可视化的交互式3D观看中使用它(我在笔记本中非常想念" inline " s))
BTW :您是否有任何方法可以将matplotlib
3D视图图存储为完整的状态填充容器,可以将其发送给其他用户她/他"加载"和UI互动审查?很高兴听到任何这样的工作:o)