def draw3d(df=None, titles=None, datas=None):
"""?3d"""
#???c??????
from mpl_toolkits.mplot3d.axes3d import Axes3D
def genDf():
df = pd.DataFrame([])
for i in range(3):
n = agl.array_random(100)
df[i] = n
return df
if df is None:
df = genDf()
assert(len(df.columns)>=3)
X, Y, Z = np.array(df[df.columns[0]]), np.array(df[df.columns[1]]), np.array(df[df.columns[2]])
fig = plt.figure(figsize=(8,6))
ax = fig.add_subplot(1, 1, 1, projection='3d')
p = ax.scatter(X, Y, Z)
if datas is not None:
for i in range(len(datas)):
df = datas[i][0]
x, y, z = np.array(df[df.columns[0]]), np.array(df[df.columns[1]]), np.array(df[df.columns[2]])
c = str(datas[i][1])
ax.scatter(x,y,z, c=c)
if titles is not None and len(titles)>=3:
ax.set_xlabel(titles[0])
ax.set_ylabel(titles[1])
ax.set_zlabel(titles[2])
plt.show()
评论列表
文章目录