gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:04:28 26 4
gpt4 key购买 nike

目前我有以下脚本生成方位角/半径数据的极坐标图。 “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()

目前这会创建以下情节:

enter image description here

我怎样才能“反转”填充,使填充灰色的变成白色,白色变成灰色?

我已经尝试过 ax.fill_betweenx(theta,90,r,color='0.75') 但没有用。我已经为此奋斗了一段时间,但无济于事。

非常感谢任何帮助或建议!

如果有任何方法可以使这一点更清楚,请在评论中告诉我。

最佳答案

根据您稍后要对此执行的操作,最快的方法是简单地将背景设置为灰色,将填充设置为白色:

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!

关于极坐标图多边形的Python/Matplotlib反填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com