[英]matplotlib reusing axes in Jupyter
这是一个我一直想要回答的问题。 我花了很多时间寻找关于 SO 的答案。 这个问题是相关的: Matplotlib - How to edit the same plot with different functions? .
我猜这有一个简单的解释,我有兴趣了解它。
问题是:
我可以在 Jupyter 中的一个单元格中显示一个轴,然后在另一个单元格中再次显示它吗? 看来我不能。 似乎一旦显示轴,它就会以某种方式“被消耗”,就像它是一次性工具一样。 我可以添加额外的图并重新显示图形(没有任何轴),但轴本身是“用过的”。
这是显示此行为的示例:
使用 Jupyter,我可以执行以下操作在第一个单元格中创建 plot :
import matplotlib.pyplot as plt
some_x_data = [11.4, 23.11, 27.93, 33.47, 45.98, 47.23, 53.84, 65.34, 87.23]
some_y_data = [(5.3 * x * (10 - x/10)) for x in some_x_data]
fig = plt.figure()
ax = fig.add_subplot()
ax.plot(some_x_data, some_y_data)
plot 显示:
现在,在另一个单元格中,我希望再次重新显示轴,所以我执行以下操作:
ax
但没有显示轴。 相反,返回值为:
<AxesSubplot:>
但是,如果不是ax
,而是使用fig
运行一个单元格,那么我会看到该图但没有轴:
fig
接下来,我尝试将新的 plot 添加到另一个单元格中的轴:
ax.scatter([40, 100], [900, 1000])
同样,没有显示任何数字,但会生成一个返回值:
<matplotlib.collections.PathCollection at 0x7fb5fc0a7c10>
然后我可以通过在另一个单元格中调用fig
来查看更新的图形,但再次没有附加任何轴:
幕后发生了什么? 为什么我不能只重新显示轴?
感谢您提供任何见解。
PS我假设这是一个重复的问题,但我根本找不到答案。 如果这是重复的,请添加链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.