Я пытаюсь решить проблему визуализации, основанную на наборе данных, обработанном пандами и matplotlib.Я нанес данные на график.Моя цель состоит в том, чтобы область под кривой была градиентной с помощью cmap (например, «плазмы»)
Однако обе мои лучшие попытки неверны по разным причинам.Первый цвет будет градиентным, но только по линии.Второй будет окрашиваться под линией, но только сплошным цветом.Я застрял очень долго ... Спасибо!
ax = plot_chance_death.plot(kind='line', x = 'State', y = 'Percent Chance',
ax=ax, color='indigo')
l1 = ax.lines[0]
x1 = l1.get_ydata()
y1 = l1.get_xdata()
fig, ax = plt.subplots()
# plot only the outline of the polygon, and capture the result
poly, = ax.fill(x1, y1, facecolor='none')
# get the extent of the axes
xmin, xmax = ax.get_xlim()
ymin, ymax = ax.get_ylim()
# create a dummy image
img_data = np.arange(ymin,ymax,(ymax-ymin)/100.)
img_data = img_data.reshape(img_data.size,1)
# plot and clip the image
im = ax.imshow(img_data, aspect='auto', origin='upper', cmap='plasma',
extent=[xmin,xmax,ymin,ymax], vmin=1., vmax=y1.max())
#this shows the gradient but above the line
im.set_clip_path(poly)
###this solution colors underneath but solid color
ax.fill_between(x1, y1, y2=0, cmap='plasma', norm=(0,.5))