我一直在尝试导入一个文本文件并使用"线框"在python中绘制它,虽然我一直收到错误说:
" ValueError:形状不匹配:无法将对象广播为单个形状"。
如果有人能帮助我,我将不胜感激。 我的输入文本文件格式如下:
11 12 13 14
21 22 23 24
31 32 33 34
,代码是:
`import os
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
data = np.genfromtxt('X1slackresultsforplot.txt', delimiter=' ')
x = [0.78,0.79,0.8]
y = [10,20,30,40]
Z = np.array(data)
X, Y = np.meshgrid(x, y)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_wireframe(X,Y,Z,rstride=10,cstride=10)
plt.show()`
感谢。
答案 0 :(得分:1)
X和Y具有形状(4,3),但Z具有形状(3,4)。也许你想要Z的转置?以下运行没有错误:
ax.plot_wireframe(X,Y,Z.T,rstride=10,cstride=10)