У меня есть фигура matplotlib, которую я хочу иметь возможность переключаться между 2D и 3D проекциями.Я могу перейти из 2D в 3D, но я не могу понять, как пойти другим путем.Пример ...
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?
Большое спасибо заранее за любой указатель, который вы можете предоставить.Dan