Python 在极坐标图matplotlib中,直线不接触

Python 在极坐标图matplotlib中,直线不接触,python,matplotlib,Python,Matplotlib,我正在matplotlib中做一个极坐标图,我想包括一条将圆一分为二的直线。我有(删除框架和网格) 如果您看到我的附加图像,线条在中心不接触。有没有办法使它们在零位重合?(令人惊讶的是,我可以在radarr中使用负起始值,如-0.7。这也不能解决问题。)我尝试过适应,但效果不好。我想这也应该是一个更简单的答案。Matplotlib版本:Matplotlib:2.1.0 您的问题无法重现。您正在运行最新的matplotlib版本吗?是否对绘图进行了其他更改(例如,以负r值绘制)?在您的测试中,rm

我正在matplotlib中做一个极坐标图,我想包括一条将圆一分为二的直线。我有(删除框架和网格)

如果您看到我的附加图像,线条在中心不接触。有没有办法使它们在零位重合?(令人惊讶的是,我可以在
radarr
中使用负起始值,如-0.7。这也不能解决问题。)我尝试过适应,但效果不好。我想这也应该是一个更简单的答案。Matplotlib版本:
Matplotlib:2.1.0


您的问题无法重现。您正在运行最新的matplotlib版本吗?是否对绘图进行了其他更改(例如,以负r值绘制)?在您的测试中,
rmin
似乎不再是零。您可以显式设置
ax.set_rmin(0)
以使绘图中心具有
r==0
。请注意,默认情况下,带有r值的轴会被标记为记号,这将有助于确定其范围(您可以在测试时将其保持打开状态,并在一切都清楚后将其关闭)。。。这是版本问题。代码是存在的,但我想我会结束这个问题…不,
radarr=np.full(100,1.0)
所以
radarr-0.4
不是负数(它是0.6)。这是版本问题。。。
ax = plt.subplot(projection='polar')
theta = [0.0, 2*np.pi/6, 4*np.pi/6, 6*np.pi/6, 8*np.pi/6, 10*np.pi/6]
thetarr = np.linspace(0,2.0*np.pi,100)
radarr = np.full(100, 1.0)

ax.plot(thetarr, radarr, linestyle='-', marker='', color='gray')
ax.plot(thetarr, radarr-0.4, linestyle='-', marker='', color='gray')
ax.plot(thetarr, radarr+0.4, linestyle='-', marker='', color='gray')
thetarr = np.full(50,5*np.pi/6)
radarr = np.linspace(0.0,1.4,50)
ax.plot(thetarr, radarr, linestyle='-', color='gray')
thetarr = np.full(50,11*np.pi/6)
ax.plot(thetarr, radarr, linestyle='-', color='gray')

plt.text(5*np.pi/6+0.02, 1.7, r'$J_{\theta}$', color='blue', fontsize=18)

ax.grid(False)
plt.yticks([0.4,0.85,1.3], ['-0.4','0','0.4'])
ax.set_rlabel_position(142)
theta = [0.0, 2*np.pi/6, 4*np.pi/6, 6*np.pi/6, 8*np.pi/6, 10*np.pi/6]
plt.xticks(theta, ['1', '2', '3', '4', '5', '6'], color='blue')
ax.get_xticklabels()[0].set_color("red")
ax.get_xticklabels()[3].set_color("red")
ax.spines['polar'].set_visible(False)