У меня x, y, z как:
x = list(range(20, 100, 20))
y = list(range(100, 200, 20))
Z = function(x, y, a, b)
, где a - это Dataframe с datetimeindex и одним столбцом, b - логический ряд, а функция - массив Z ((len (x), len (y))), function - вложенный цикл, внутри которого используются другие функции. Я хотел построить поверхность, которая показывает, как z изменяется с x и y:
X = list(range(20, 100, 20))
Y = list(range(100, 200, 20))
X, Y = np.meshgrid(X, Y)
Z = function(x, y, a, b)
surf = ax.plot_surface(X, Y, Z, inewidth=0, antialiased=False)
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
Однако я получил это сообщение об ошибке:
Traceback (most recent call last):
File "C:/Users/simulation.py", line 82, in <module>
linewidth=0, antialiased=False)
File "C:\Users\baili\PycharmProjects\import_yahoo_data\venv_1\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1621, in plot_surface
X, Y, Z = np.broadcast_arrays(X, Y, Z)
File "<__array_function__ internals>", line 6, in broadcast_arrays
File "C:\Users\baili\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\lib\stride_tricks.py", line 264, in broadcast_arrays
shape = _broadcast_shape(*args)
File "C:\Users\baili\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\lib\stride_tricks.py", line 191, in _broadcast_shape
b = np.broadcast(*args[:32])
ValueError: shape mismatch: objects cannot be broadcast to a single shape
Я думаю, что это как-то связано сфункция z .... но я не уверен, как именно ..... Спасибо!