【问题标题】:plt.show() does not show the 3d scatter imageplt.show() 不显示 3d 散点图
【发布时间】:2020-02-18 17:51:32
【问题描述】:

社区,

我尝试在 jupyter notebook 上使用 matplotlib Axes3D 创建 3d 散点图。 但是,一旦我执行“plt.show()”,它就不会显示图像。

#pip install matplotlib
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
%matplotlib inline
fig = plt.figure()
ax =fig.add_subplot(111, projection = '3d')
x = dframe['CTR']
y = dframe['Clicks']
z = dframe['Avg. CPC']
ax.scatter(x, y, z, c='r', marker='o')
plt.show()

【问题讨论】:

  • 代码对我来说有点奇怪。线%matplotlib inline有什么用。我尝试重现您的问题,但我得到了NameError: name 'dframe' is not defined。您能否编辑您的问题并添加更多详细信息,并请添加一个最小可重现示例。
  • 它适用于 x=y=z = [1,2,3]。也许您的数据有问题?
  • 你能给我们看看你的 dframe 吗?

标签: python matplotlib


【解决方案1】:

您的代码可以像这样正常工作:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")

# dummy data (your actual data should go here)
x = [1, 2, 3, 4]
y = x
z = x
ax.scatter(x, y, z, c="r", marker="o")
plt.show()

这表明:

您的数据可能有问题。另外,由于您无论如何都在使用plt.show(),因此您可以删除%matplotlib inline 这一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    相关资源
    最近更新 更多