Python/Matplotlib极坐标图多边形的逆填充

Python/Matplotlib极坐标图多边形的逆填充,python,matplotlib,plot,polar-coordinates,Python,Matplotlib,Plot,Polar Coordinates,目前,我有以下脚本生成方位角/半径数据的极坐标图。“R1”是从ArcGIS中的表格中导出的[方位角,倾角]值的简单列表 import matplotlib.pyplot as plt import numpy as np for(a,r) in R1: angles.append(a) radius.append(90-r) theta = np.radians(angles) r = radius ax = plt.subplot(111,polar=True) ax.p

目前,我有以下脚本生成方位角/半径数据的极坐标图。“R1”是从ArcGIS中的表格中导出的[方位角,倾角]值的简单列表

import matplotlib.pyplot as plt
import numpy as np 

for(a,r) in R1:
    angles.append(a)
    radius.append(90-r)
theta = np.radians(angles)
r = radius

ax = plt.subplot(111,polar=True)
ax.plot(theta, r, color='black', ls='-', linewidth=1)
ax.fill(theta,r,'0.75') ## should I use ax.fill_betweenx() ?
ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)
ax.set_rmax(90)
ax.set_rmin(0)
ax.set_yticks(range(0,90,10))
yLabel=['90','','','60','','','30','','','']
ax.set_yticklabels(yLabel)
ax.grid(True)
plt.show()
此时,将创建以下绘图:

我如何“反转”填充,以便填充灰色的将是白色的,白色的将是灰色的

我试过在x(θ,90,r,color='0.75')之间使用ax.fill_,但没有成功。我已经为此奋斗了一段时间,但毫无结果

非常感谢任何帮助或建议


如果有什么方法可以让我说得更清楚,请在评论中告诉我

根据您稍后的操作,最快的方法是将背景设置为灰色,填充为白色:

import matplotlib.pyplot as plt
import numpy as np
ax = plt.subplot(111, polar=True)

theta = np.linspace(0, 2*np.pi, 100)
r = 2 + np.sin(theta * 2)
ax.patch.set_facecolor('0.5')
ax.plot(theta, r, color='black', ls='-', linewidth=1)
ax.fill(theta,r,'w')
plt.show()
plt.draw() # just to be safe!

根据你用它做的其他事情,将背景面片变成灰色,填充物变成白色。最好使用合成数据,你可以用
theta=np.linspace(0,2*np.pi,100)
r=2+np.sin(theta)
来演示这一点,使用
set\u-yticklabels
是危险的,应该避免使用。@tcaswell:您建议用什么代替set\u-yticklabels?我也会记住未来的数据引用。仍然是带有matplotlib的n00b。谢谢我真的不知道你想做什么,但我认为像使用函数格式化程序这样的东西会将标签设置为(r-90),这有点不稳定,但使用
设置标签就不那么可靠了。要查看危险,请更改r限制或勾选位置。标签将与数据完全解耦。非常好。。。我喜欢结果的样子。谢谢