如何绘制能量增益等值线图以在 python 上更改 epsilon?

问题描述 投票:0回答:1

我一直在尝试为不同的 epsilon_1 和 epsilon_2 制作一个等高线图,其中能量增益作为等高线部分,但我不确定如何编码它,因为当我尝试使用

时,我不断收到错误
epsilon_1= np.linspace(1,25,1000)
epsilon_2= np.linspace(1,25,1000)
E=1/2*((epsilon_1)/(epsilon_2)+1)

谁能告诉我如何正确编码以获得其等高线图?

我尝试了 plt.contour 和 plt.tricontourf 但它们不起作用,因为我的 E 不是 2D。

python 2d contour
1个回答
0
投票

你使用 numpy.meshgrid 将它们变成 2d。

import numpy as np
import matplotlib.pyplot as plt

epsilon_1= np.linspace(1,25,1000)
epsilon_2= np.linspace(1,25,1000)

eps1, eps2 = np.meshgrid( epsilon_1, epsilon_2 )
E=0.5 * ( eps1 / eps2 + 1 )

plt.contour( eps1, eps2, E, 100 )
plt.show()

© www.soinside.com 2019 - 2024. All rights reserved.