在极坐标系中两条线之间填充颜色

5
我正在尝试填充两条未在两端闭合的线之间的空隙。我无法在plt.polar中使用plt.fill_between,请问有何建议?这是我用于绘制这些线的代码:
import matplotlib.pyplot as plt
import numpy as np 

inner_offset = 0.05
r = np.arange(inner_offset,1. + inner_offset,1./720.)
theta = np.arange(0.,2.,1./360.)*np.pi 

plt.polar(theta/2.,r) #first part of spiral
plt.polar((theta/2.)+(np.pi/3.),r)

plt.show()

你是否遇到了错误?以上代码的结果是什么? - Theresa
1个回答

8

由于你的半径("y")相同,你可以使用plt.fill_betweenx()

import matplotlib.pyplot as plt
import numpy as np

plt.figure()
inner_offset = 0.05
r = np.arange(inner_offset,1. + inner_offset,1./720.)
theta = np.arange(0.,2.,1./360.)*np.pi

c1 = plt.polar(theta/2.,r, color='b')[0]
x1 = c1.get_xdata()
y1 = c1.get_ydata()
c2 = plt.polar((theta/2.)+(np.pi/3.),r, color='y')[0]
x2 = c2.get_xdata()
y2 = c2.get_ydata()

plt.fill_betweenx(y1, x1, x2, color='g')
plt.show()

给予: 输入图像的描述

1
有人知道如何避免fill_between区域“越过”边界线吗(在这个例子中,黄色线围绕r=1和theta=225°)? - Jan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接