нужны X и Y, чтобы построить свое собственное пространство, и отношение Z (X, Y), чтобы построить полное пространство, а не просто использовать несколько точек с 1D X, Y, Z информацией.
кция занимает 3 входных массиваmatplotlib.pyplot.contour()
а такжеX
, Y
МассивыZ
.
а такжеX
указать координаты x и y точек, аY
указывает соответствующее значение интересующей функции, оцениваемой в баллах.Z
Я это понимаю
позволяет легко создавать массивы, которые служат аргументами дляnp.meshgrid()
Это отлично работает. И удобно, это тоже отлично работает:contour()
:
X = np.arange(0,5,0.01)
Y = np.arange(0,3,0.01)
X_grid, Y_grid = np.meshgrid(X,Y)
Z_grid = X_grid**2 + Y_grid**2
plt.contour(X_grid, Y_grid, Z_grid) # Works fine
Однако почему
plt.contour(X, Y, Z_grid) # Works fine too
входZ
требуется быть 2D-массивом?Почему что-то вроде следующего запрещено, даже если оно указывает все те же данные, выровненные соответствующим образом?
Кроме того, какова семантика, когда
plt.contour(X_grid.ravel(), Y_grid.ravel(), Z_grid.ravel()) # Disallowed
только указано (без соответствующего Z
а такжеX
)?Y
в вашем примере не может быть числа с плавающей точкой для третьего (необязательного) аргумента.