极坐标/轮廓图:如何在圆内绘制一些曲线?

时间:2017-02-15 16:18:50

标签: python matplotlib plotly contour

我必须绘制方程式:

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]

所需的情节是这样的:
enter image description here

我试过了:

# 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()

我不知道如何创建像右图这样的图表?

将非常感谢帮助。

相关链接:
https://plot.ly/python/polar-chart/

1 个答案:

答案 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()

enter image description here