You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python绘图报错TypeError: QuadMesh与float不支持*运算求助

报错原因与解决方案

错误根因

核心问题是变量名冲突导致物理常量被覆盖:

  • 代码开头从scipy.constants导入的c是真空光速常量,属于浮点类型数值
  • 第一个绘图环节你写了c = ax.pcolormesh(...),将pcolormesh返回的QuadMesh对象赋值给变量c,直接覆盖了原本的光速常量
  • 第二个绘图执行c*epsilon_0运算时,此时c已经是QuadMesh对象,无法和浮点类型的真空介电常数epsilon_0做乘法运算,因此抛出对应的类型错误。

修复方案

仅需要修改第一个绘图中接收pcolormesh返回值的变量名,不要和光速常量c重名即可,示例修改后的代码如下:

returned_times_pretty_mesh, xis_mesh = np.meshgrid(returned_times_pretty, xis)
fig, ax = plt.subplots()
# 将原变量名c改为pcm(pcolormesh缩写),避免覆盖光速常量
pcm = ax.pcolormesh(returned_times_pretty_mesh, xis_mesh, np.real(Es_Kappa_time), cmap='viridis')
fig.colorbar(pcm, ax=ax, label=r'$[V/m]$')
ax.set_xlabel("t [s]")
ax.set_ylabel("xi [m]")
plt.show()

fig, ax = plt.subplots()
# 此时c恢复为原本的光速常量,运算逻辑正常
ax.imshow(np.multiply(np.square(np.real(Es_Kappa_time)), (c*epsilon_0)), cmap='viridis')
ax.set_xlabel("t [s]")
ax.set_ylabel("xi [m]")
plt.show()

内容的提问来源于stack exchange,提问作者velenos14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:06:03