Не удается создать 3D-оси в matplotlib

#python #matplotlib #3d

Вопрос:

Я пытаюсь создать трехмерный график, но я не могу создать 3D-оси.

Когда я пытаюсь, это выдает мне ошибку с указанием «Ошибка значения: Неизвестная проекция «3d»».

Вот как я попытался создать объект Axes

 import matplotlib.pyplot as plt 

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

plt.show()
 

Как создать объект 3D-осей в matplotlib?

Комментарии:

1. Вы должны импортировать 3d-оси, такие как from mpl_toolkits.mplot3d import Axes3D

Ответ №1:

Для того чтобы создать 3D-оси, вам необходимо импортировать mplot3d инструментарий:

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

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

plt.show()
 

В галерее есть несколько 3D-примеров:
http://matplotlib.org/examples/mplot3d

Ответ №2:

Из документации Matplotlib: «Допустимые значения для проекции: [«айтофф», «молоток», «ламберт», «моллвейд», «полярный», «прямолинейный»]».

Вы предоставляете методу недопустимый аргумент ключевого add_subplot() слова. Похоже, вы пытаетесь создать 3D-график в декартовых координатах. Ключевое слово projection не требуется для создания такого графика.

Комментарии:

1. Это не так, но 3D может быть допустимой проекцией, если импортированы правильные наборы инструментов. Смотрите мой ответ.