python - ошибка несоответствия формы matplotlib с plot_surface - PullRequest
0 голосов
/ 14 октября 2018

Итак, у меня есть функция calcY, которая возвращает высоту, если заданы две точки.Я хочу использовать его для расчета трехмерного графика, который я хочу построить.

Я выбираю точки от heightMin до heightMax и radiusMin до radiusMax и использую каждую точку как x, y, а затем вычисляю Y как z.

Код выглядит следующим образом:

#Processing the data

zs = np.zeros((heightMax - heightMin, radiusMax - radiusMin))

for height in range(heightMin, heightMax):
  for radius in range(radiusMin, radiusMax):
    xs.append(radius)
    ys.append(height)
    zs[height- heightMin, radius- radiusMin] = calculateY(height, radius)

xs,ys = np.meshgrid(xs,ys)

#Initializing the graph
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

#Plot the graph
ax.plot_surface(xs, ys, zs)

plt.show()

ax.plot_surface(xs, ys, zs) выдает ошибку " ValueError: несоответствие формы: объекты не могут быть переданы в одну форму "

Я понятия не имею, что делать, чтобы это исправить.

Спасибо за любую помощь.

РЕДАКТИРОВАТЬ

Теперь это работает - сделал массив сnp.arrange ()

#Processing the data

zs = np.zeros((heightMax - heightMin, radiusMax - radiusMin))

xs = np.arange(radiusMin, radiusMax, 1)
ys = np.arange(heightMin, heightMax,1)

xs,ys = np.meshgrid(xs,ys)

for height in range(heightMin, heightMax):
  for radius in range(radiusMin, radiusMax):
    zs[height- heightMin, radius- radiusMin] = calculateY(height, radius)
#Initializing the graph
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# ax = fig.gca(projection = '3d')

#Plot the graph
ax.plot_wireframe(xs, ys, zs)

plt.show()

Понятия не имею, почему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...