如何用渐变填充圆圈?

How to fill a circle with a gradient?

有没有办法填充由 :

创建的圆
ax.add_patch(ptc.Circle(.....)

使用颜色图的垂直渐变:

grad = cm.get_cmap('plasma', 100)

预期输出:

我不知道怎么做,但是根据图片有人用imshow()搞定了。

谢谢

您可以绘制图像并设置剪辑路径:

import numpy as np
import matplotlib.pyplot as plt

x, y, r = 0, 35, 25
fig, ax = plt.subplots()
img = ax.imshow(np.linspace(0, 1, 256).reshape(-1, 1), cmap='plasma',
                extent=[x - r, x + r, y - r, y + r], origin='lower')
circle = plt.Circle((x, y), r, transform=ax.transData)
img.set_clip_path(circle)
ax.use_sticky_edges = False
ax.margins(x=0.05, y=0.05)
plt.show()