我的x,y,z为:
x = list(range(20, 100, 20))
y = list(range(100, 200, 20))
Z = function(x, y, a, b)
其中a是具有datetimeindex和单列的Dataframe,b是布尔序列,函数给出一个数组Z((len(x),len(y))),函数是一个嵌套循环,内部使用了其他函数。 我想绘制一个曲面,该曲面通过以下方式显示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函数有关。...但我不确定具体如何..... 谢谢!