我有一個matplotlib圖,我希望能夠在2D和3D投影之間切換。我可以從2D轉到3D,但我似乎無法弄清楚如何去其他方式。例如...matplotlib 3d回到2d
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
def randrange(n, vmin, vmax):
return (vmax-vmin)*np.random.rand(n) + vmin
fig = plt.figure()
# Create a 3D scatter plot...
ax = fig.add_subplot(111, projection='3d')
n = 100
for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
xs = randrange(n, 23, 32)
ys = randrange(n, 0, 100)
zs = randrange(n, zl, zh)
ax.scatter(xs, ys, zs, c=c, marker=m)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
# Now I want a 2D plot...
ax.cla()
ax = fig.add_subplot(111)
ax.plot(xs, ys)
plt.show()
情節停留在3D投影和投影=「2D」不是一個有效的kwarg ...
我想也許ax.clf()會做什麼,我想並讓我定義一個新的數字。但它只是給了我以下錯誤: ValueError:未知元素o
任何人都可以給我一個提示,解決這個問題嗎? ValueError是與問題相關還是暗示我的設置出現其他問題?投影從3D轉換到2D有沒有kwarg?
非常感謝您提供的任何指針。 Dan
感謝您的輸入cosmosis。我錯過了接受和投票有用的不是同一件事!現在糾正我的錯誤。 我想我的問題必須有點模糊,因爲我的簡單例子。我希望能夠在2D和3D投影之間切換一個數字,而不是創建一個或另一個。該圖在wxPython GUI中的畫布上。任何想法如何實現? – Dan