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

如何为矩阵生成的3条曲线添加坐标轴标签与曲线标签?

解决方案:为三能级系统曲线添加标签

直接修改你的代码,通过分别指定每条曲线的标签、添加坐标轴标签并显示图例,就能实现需求。修改后的完整代码如下:

import numpy as np
import matplotlib.pyplot as plt

E1 = 0.3  # 能级能量值
E2 = 0.2
E3 = 0.7

t = np.array([0])  # 时间数组初始值

# 跃迁频率计算
w12 = abs(E2 - E1)
w23 = abs(E3 - E2)
w13 = abs(E3 - E1)

t0 = 0    # 起始时间
dt = 1    # 时间步长
T = 30    # 结束时间
Nt = int(T / dt)  # 时间步数

# 初始粒子数状态
N01 = 0
N02 = 0
N03 = 1

# 初始化粒子数矩阵和总粒子数
N = np.array([[N01, N02, N03]])
N_sum = N01 + N02 + N03

# 跃迁速率矩阵
W = np.array([
    [-w12, 0, w13],
    [w12, -w23, 0],
    [0, w23, -w13],
])

# 时间演化计算
for i in range(1, Nt):
    tempo = N[i-1] + dt * W @ N[i-1]
    N = np.vstack((N, tempo))
    t = np.append(t, t[0] + i * dt)

# 分别绘制每条曲线并添加对应标签
plt.plot(t, N[:, 0], label=f"能级1 (初始粒子数: {N01})")
plt.plot(t, N[:, 1], label=f"能级2 (初始粒子数: {N02})")
plt.plot(t, N[:, 2], label=f"能级3 (初始粒子数: {N03})")

# 添加坐标轴标签
plt.xlabel("时间")
plt.ylabel("粒子数")

# 显示图例
plt.legend()
# 自动调整布局防止标签被截断
plt.tight_layout()

plt.show()

关键修改说明:

  • 拆分原plt.plot(t,N)为三条单独的绘图语句,每条对应一个能级的粒子数演化曲线,并通过label参数指定与初始状态绑定的标签。
  • 添加plt.xlabel()和plt.ylabel()分别设置X轴(时间)和Y轴(粒子数)的标签。
  • 调用plt.legend()显示曲线标签,plt.tight_layout()优化图表布局,避免标签被遮挡。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:01:18