所以我有两条曲线
theta1(r)
和 theta2(r)
,其中 r
在两个数字(本例中为 1 和 330)之间均匀分布。如何填充两条曲线之间的径向线段?
我已经考虑过采用this解决方案,但它似乎开箱即用没有用。提供的解决方案依赖于逆关系
r(theta)
,这将是不明确的,因此不适用于我的情况。
Polygon
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import numpy as np
fig, ax = plt.subplots(subplot_kw=dict(projection="polar"))
n = 330
r = np.arange(330)
# auto correlate random numbers (see comment below)
a = np.zeros(n) + np.add.accumulate(np.random.normal(0, np.pi / 180, size=n))
b = np.ones(n) * np.pi / 2 + np.add.accumulate(np.random.normal(0, np.pi / 180, size=n))
ax.plot(a, r)
ax.plot(b, r)
arc_theta = np.linspace(a[-1], b[-1], 101)
arc_r = np.ones_like(arc_theta) * 330
start = np.c_[a, r]
arc = np.c_[arc_theta, arc_r]
end = np.c_[b, r][::-1]
verts = np.concatenate([start, arc, end])
p = Polygon(verts, fc="purple", alpha=0.5)
ax.add_artist(p)
plt.show()
给予
bomboclat................................................ ...................................................... ...................................................... ...................................................... ................................................