在极坐标中绘制 fill_between 时,这些扭曲是什么?我该如何摆脱它们?

What are these distortions when plotting fill_between in polar coordinates? And how do I get rid of them?

我想绘制一个不同宽度的螺旋线。然而,当我绘制图形时,在线上方和下方出现了一些奇特的点(下图中红色箭头指向的位置)。它们似乎发生在点之间,线应该是直的。它们也不会以任何明显的模式出现。

我有 运行 以下代码,但我无法弄清楚是什么导致了这些奇怪的失真。有什么想法吗?

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.use('Agg')
plt.ioff()

MY_DPI = 300
BKGD_COLOUR = 'w'
FILL_COLOUR= 'k'

a = 0
b = 0.5

maxRadius = 100
maxTheta = (maxRadius - a) / b

t = np.arange(0, maxTheta, 0.1)
r = a + b *t

fig = plt.figure(figsize=(10,10), dpi=MY_DPI)
ax = fig.add_axes([0,0,1,1], polar=True)
ax.set_rlim(0, maxRadius)
ax.axis('off')

r_bot = np.array(r) - np.random.uniform(0.1, 0.5, len(r))
r_top = np.array(r) + np.random.uniform(0.1, 0.5, len(r))

ax.fill_between(t, r_bot, r_top, color=FILL_COLOUR, lw=0)

plt.savefig('spiraliser.jpg', facecolor=BKGD_COLOUR, bbox_inches='tight', dpi=MY_DPI)
plt.close()

color=FILL_COLOUR 更改为 facecolor=FILL_COLOUR 似乎已经解决了这个问题。显然facecolor没有设置边缘的颜色。