![](/img/trans.png)
[英]I am trying to plot a scatter graph onto my 3d continuous graph in python using matplotlib
[英]Why can't I create a 3d scatter plot in Python on my desktop?
我正在尝试在 python 中使用 3D 散点图对象。 我已经在我的笔记本电脑上成功地做到了这一点。 但是,我无法将代码复制并粘贴到我的桌面上。 当我这样做时,我收到一个错误。 我将在下面附上给我带来麻烦的代码部分。 我正在使用 Anaconda 来运行我的代码。 我会注意到我的笔记本电脑使用 python 3.6,我的台式机使用 3.7,但我不认为这是造成它的原因。 我得到的错误如下。 “值错误:未知投影‘3d’”
import numpy as np
from scipy import optimize
import time
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
import pandas as pd
from sklearn import preprocessing
from sklearn.svm import SVR
import multiprocessing as mp
from obj_class import objective_class
import pdb
import scipy.integrate as integrate
def create3d():
grid_matrix = np.array([[1,1,1,1],[2,2,2,2],[3,3,3,3]])
fig = plt.figure()
ax = plt.axes(projection='3d')
p = ax.scatter3D(grid_matrix[:,0],grid_matrix[:,1] ,grid_matrix[:,2] , c=grid_matrix[:,3], cmap='viridis')
cb = fig.colorbar(p)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title(' Scatter Plot')
为了在matplotlib <= 3.1
使用3d
投影,您需要导入axes3d
,即
from mpl_toolkits.mplot3d import Axes3D
从matplotlib >= 3.2
,不需要额外的导入。 因此,您可能在两台计算机上运行不同的 matplotlib 版本。
如果您在 iPython 内核(例如 Jupyter notebook)中运行您的代码,那么您只需执行每次导入一次,并且您将能够运行依赖于所述导入的任何代码,直到内核关闭。 但是,为了以自包含的方式运行脚本,您需要在脚本中包含该导入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.