在笔记本中的一个单元格中,我已经用
绘制了一些内容 myplot = plt.figure()
plt.plot(x,y)
现在,在另一个单元格中,我想再次绘制完全相同的图形,但在其上面添加新图形(类似于对plt.plot()
的两次连续调用所发生的情况)。我尝试的是在新单元格中添加以下内容:
myplot
plt.plot(xnew,ynew)
然而,我在新单元中获得的唯一内容是新的情节,没有前一个情节。
如何实现这一目标?
答案 0 :(得分:5)
基本上有两种方法可以解决这个问题。
使用面向对象的方法,即保持图形和/或轴的控制,并在以后的单元格中重复使用。
public class MyServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
final String contentType = "text/plain;charset=UTF-8";
final String characterEncoding = "UTF-8";
response.setContentType(contentType);
response.setCharacterEncoding(characterEncoding);
PrintWriter writer = response.getWriter();
writer.println(response.getContentType());
writer.println(response.getCharacterEncoding());
writer.println("السلام عليكم:");
}
}
然后在后面的单元格中,
import matplotlib.pyplot as plt
%matplotlib inline
fig, ax=plt.subplots()
ax.plot([1,2,3])
建议阅读:
How to keep the current figure when using ipython notebook with %matplotlib inline?
How to add plot commands to a figure in more than one cell, but display it only in the end?
How do I show the same matplotlib figure several times in a single IPython notebook?
另一种选择是告诉matplotlib内联后端在单元格的末尾保持数字打开。
ax.plot([4,5,6])
然后在后面的单元格中
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.close_figures=False # keep figures open in pyplot
plt.plot([1,2,3])
建议阅读: