Динамическая точечная манипуляция в 3D Matplotlib

Пытаясь манипулировать графиком в matplotlib, я наткнулся на что-то интересное. при использовании функции построения координаты x и y могут быть изменены с помощью псевдонимов, а z - нет. Это легко объяснить? Я включил небольшой пример, обратите внимание, что я пытался заставить точку двигаться по спирали вдоль цилиндра.

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

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

ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")

radius = 8

# Cylinder
x = np.linspace(-radius, radius, 100)
z = np.linspace(0, 2, 100)
X, Z = np.meshgrid(x, z)

Y = np.sqrt(radius**2 - X**2)

ax.plot_surface(X, Y, Z, alpha=0.3, linewidth=0)
ax.plot_surface(X, (-Y), Z,alpha=0.3, linewidth=0)

X = np.array(np.zeros(1))
Y = np.array(np.zeros(1))
Z = np.array(np.zeros(1))

X[0]= radius*np.cos(np.deg2rad(0))
Y[0]= radius*np.sin(np.deg2rad(0))
Z[0]= 0.

ax.plot(X,Y,Z, 'or',markersize=3)

for i in range(0,360,5):

    X[0]= radius*np.cos(np.deg2rad(i))  
    Y[0]= radius*np.sin(np.deg2rad(i))
    Z[0]= i/140.

    plt.draw()
    plt.pause(0.01)

Для справки, конечной целью этого упражнения является возможность позиционирования точки на основе входных данных датчика в режиме реального времени в трех измерениях.

Спасибо всем, кто знает, почему это происходит, и возможные решения!