ValueError: could not convert string to float: 'auto'
时间: 2023-10-18 21:21:50 浏览: 126
ValueError: Could not find a format to read the specified file in mode ‘i’
这个错误可能是由于在调用`ax.set_box_aspect()`方法时,将参数设置为了字符串`'auto'`,而该方法的参数需要是一个浮点数或者是一个表示比例的三元组。你可以尝试将`ax.set_box_aspect('auto')`修改为`ax.set_box_aspect((np.ptp(x), np.ptp(y), np.ptp(z)))`,这样就能够将坐标轴比例自动调整为适合数据的比例了。修改后的代码如下:
```python
x, y, z = x,y,np.real(f1)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制三维物体
ax.plot_surface(x,y,z)
# 调整视角
ax.view_init(elev=45, azim=45)
ax.dist = 10
# 调整坐标轴比例
ax.set_box_aspect((np.ptp(x), np.ptp(y), np.ptp(z)))
# 隐藏坐标轴
ax.set_axis_off()
# 显示投影截面图
ax.figure.canvas.draw()
data = np.frombuffer(ax.figure.canvas.tostring_rgb(), dtype=np.uint8).reshape(ax.figure.canvas.get_width_height()[::-1] + (3,))
plt.imshow(data)
plt.show()
```
这样就能够正常运行了。
阅读全文