在Python中使用Matplotlib进行三维打印并不断获取类型错误:不支持的操作数类型为-:';列表';和';列表'; 试图用MatPultLB做一个3D绘图,但是由于某种原因,当我尝试设置席,意并不断得到以下消息时,我的代码失败了: xi = np.linspace(min(x_mtx), max(x_mtx)) File "C:\Python27\lib\site-packages\numpy\core\function_base.py", line 80, in linspace step = (stop-start)/float((num-1)) TypeError: unsupported operand type(s) for -: 'list' and 'list'

在Python中使用Matplotlib进行三维打印并不断获取类型错误:不支持的操作数类型为-:';列表';和';列表'; 试图用MatPultLB做一个3D绘图,但是由于某种原因,当我尝试设置席,意并不断得到以下消息时,我的代码失败了: xi = np.linspace(min(x_mtx), max(x_mtx)) File "C:\Python27\lib\site-packages\numpy\core\function_base.py", line 80, in linspace step = (stop-start)/float((num-1)) TypeError: unsupported operand type(s) for -: 'list' and 'list',python,3d,plot,matplotlib,Python,3d,Plot,Matplotlib,代码: 我正在使用以下数据集: x =[[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9],...,[[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]] y =[[1,2,3,4],...,[1,2,3,4] z =[[1604.18997105,1537.61273892,1475.55679943,1372.35580231,1338.5212552,1205.65768444,1123.58398781,1011.84290322,859.

代码:

我正在使用以下数据集:

x =[[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9],...,[[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]]
y =[[1,2,3,4],...,[1,2,3,4]
z =[[1604.18997105,1537.61273892,1475.55679943,1372.35580231,1338.5212552,1205.65768444,1123.58398781,1011.84290322,859.696324611],[1032.18731228,996.573332541,948.61368911,912.983432776,881.29239958,798.381328007,750.773525511,679.725673182,586.014048166],[727.489743398,674.426010669,660.796225936,636.607836391,603.244223602,559.648437086,513.633091109,473.594466259,417.134921259],[511.067337872,482.096743673,471.899423715,448.898733469,436.745110773,392.610890968,362.940790577,330.484896223,290.875981749]]
这是因为(大概)
x_mtx
是一个矩阵,因此内置的
max
返回一个列表,其中包含
x_mtx
每行中最大的元素

如果要全局获取
x_mtx
中的最小值/最大值,请改用numpy的最小值/最大值,它返回整个矩阵上的标量最小值,而不仅仅是每一行:

xi = np.linspace(np.min(x_mtx), np.max(x_mtx))
xi = np.linspace(np.min(x_mtx), np.max(x_mtx))