Проблема с 3d-уровнями проекции matplotlib

У меня довольно странная ошибка, исходящая от contourf (). Я хочу установить определенные минимальные и максимальные значения для моей 3D-проекции, однако, когда я пытаюсь установить что-то большее, чем - + max (Z), я получаю сообщение об ошибке:

Файл C: \ Program Files \ Python38 \ lib \ site-packages \ mpl_toolkits \ mplot3d \ art3d.py, строка 768, в do_3d_projection zzs, сегменты_2d, self._facecolors2d, self._edgecolors2d, idxs =
ValueError : недостаточно значений для распаковки (ожидалось 5, получено 0)

lmin, lmax = -1, 1 работает только или более низкие значения

Вот пример:

from pylab import *

mpName = 'seismic'

X = np.linspace(-np.pi, np.pi, 192)
Y = np.linspace(-np.pi, np.pi, 192)
X, Y = np.meshgrid(X, Y)
Z = np.sin(X*Y)


lmin,lmax = -2, 2 #
fig = plt.figure()
ax = plt.axes(projection='3d')
ax.contourf(Y, X, Z, cmap='RdBu', zdir='z', offset=np.pi, levels=np.linspace(lmin,lmax,20))
ax.set_xlim3d(-np.pi, np.pi)
ax.set_ylim3d(-np.pi, np.pi)
ax.set_zlim3d(-np.pi, np.pi)
plt.show()

person Gatto Nou    schedule 03.12.2020    source источник
comment
Отвечает ли это на ваш вопрос? Проблемы с контурами при использовании Python matplotlib 3D API   -  person Mr. T    schedule 03.12.2020
comment
Мистер Т. благодарит за ваши предложения, но этот случай не решает мой вопрос. У меня проблема с настройкой уровней на контур.   -  person Gatto Nou    schedule 04.12.2020
comment
Не могли бы вы более четко указать, чего именно вы хотите достичь? Вы хотите 2D-проекцию ваших данных, но не учитываете некоторые значения z? Почему вы хотите установить минимальный и максимальный уровни контура за пределами диапазона данных?   -  person BenB    schedule 05.12.2020
comment
Хороший вопрос. Мне это нужно, потому что у меня есть 3 набора данных, и у них разные минимальные / максимальные значения. Я рисую трехмерную фигуру, которая состоит из трех проекций. Чтобы соответствовать уровням, я должен использовать одинаковые значения min / max для каждого набора данных.   -  person Gatto Nou    schedule 06.12.2020


Ответы (1)


Итак, я нашел решение своей проблемы.

conda remove --force matplotlib
conda install matplotlib=3.1.3

Не знаю почему, но последняя версия выдает вышеупомянутую ошибку.

person Gatto Nou    schedule 08.12.2020