使用Python绘制3D散点图,但在Jupyter Notebook中只返回一个空白的区域

3
我正在尝试在Jupyter Notebook页面中使用matplotlib创建3D散点图。代码没有返回任何错误,但是我还没有看到图表实际显示出来。输出结果只是空白。
Python版本: 3.7.3 Matplotlib版本: 3.0.3
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

%matplotlib inline
%matplotlib notebook

threedee = plt.figure().gca(projection='3d')
threedee.scatter(existing_df_2d.PC1, existing_df_2d.PC2, 
existing_df_2d.data_mean)

plt.show()

我提供了一个输出示例(它是空白的):

输出

。最初的回答。
2个回答

2
你正在使用两个后端
%matplotlib inline 
%matplotlib notebook

作为结果,在连续调用两个后端时似乎存在冲突。
P.S:当我尝试将%matplotlib notebook放在与其他代码相同的单元格中时,我没有看到任何图像。当我将其放在不同的单元格中时,我可以看到图像。
解决方案:只需在新的单独单元格中使用%matplotlib inline%matplotlib notebook中的任何一个即可,这样就可以正常工作。

成功了!谢谢你!只是出于好奇,它们之间有什么区别?在何时应该使用其中一个而不是另一个? - Pythoner
1
@alkhalifas: %matplotlib notebook 允许您在笔记本中进行交互式功能,例如旋转3D图形、放大图形等。顺便说一下,我刚刚意识到这里有一个类似的问题被问到了这里 - Sheldore

-1
根据我的经验,%matplotlib notebook 不幸地不能与 3D 图表一起使用。只需使用 %matplotlib inline 就可以了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接