我必须绘制方程式:
Y_axis = cos(phi) * sqrt(1 - (arctan(r)) /r )
---用于蜘蛛图
这里:
r = R / a_H
Y_axis = V_r - V_sys
不同的曲线适用于:
Y_axis = [0.0, 0.2, 0.4, 0.6, 0.8]
我试过了:
# Imports
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.01, 5., 100001)
ya = [0.0, 0.2, 0.4, 0.6, 0.8]
s = lambda x: np.cos(0.) * np.sqrt((1. - (1. / x) * np.arctan(x)))
plt.plot(x, s(x), 'b-', label=r'$\frac{V(R)}{V_{H}}$')
plt.show()
我不知道如何创建像右图这样的图表?
将非常感谢帮助。
答案 0 :(得分:2)
你可以尝试这个以获得一个有点类似的情节(使用参数进行修改以使其类似于所需的参数)。您需要的是contour plot
,因为您有一个双变量函数y=f(x,phi)
。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5., 5., 1001)
phi = np.linspace(-1., 1., 1001)
X, Phi = np.meshgrid(x, phi)
Y = np.cos(Phi) * np.sqrt((1. - (1. / X) * np.arctan(X)))
plt.contour(X, Phi, Y)
plt.show()