Я хотел создать такую визуализацию, как показано ниже -
Мне удалось реализовать код из этого ответа, чтобы получить это изображение ниже
Как видно из сравнения обоих изображений, разница в цветах велика, даже несмотря на то, что сопоставляемая последовательность - та же серия. Нужно ли создавать собственную карту цветов, чтобы цвета были более выраженными?Мой второй вопрос - как построить цветную полосу для всей фигуры?
Мой код выглядит следующим образом:
fig, ax = plt.subplots()
##Sonars plotting function -
def plot_inset(width, axis_main, data, x,y):
ax_sub= inset_axes(axis_main, width=width, height=width, loc=10,
bbox_to_anchor=(x,y),
bbox_transform=axis_main.transData,
borderpad=0.0, axes_class=get_projection_class("polar"))
theta = data["Bin_Mids"]
radii = data["Frequency"]
length = data["pass.length"]
colors = plt.cm.magma(length/100)
bars = ax_sub.bar(theta, radii, width=0.3, bottom=0.0, color = colors, alpha=0.5)
ax_sub.set_xticklabels([])
ax_sub.set_yticks([])
ax_sub.yaxis.grid(False)
ax_sub.xaxis.grid(False)
ax_sub.spines['polar'].set_visible(False)
##Calling the function
for player, loc in player_dict.items():
plot_inset(1.1,ax, data = Passer(player), x = loc[0], y = loc[1])
ax.text(loc[0]+10, loc[1], player, size = 6.25, rotation = -90)
player_dict
выглядит следующим образом (пример):
player_dict = {'Sarah Bouhaddi': [0, 45], 'Marion Torrent': [42, 15], 'Gaëtane Thiney': [97, 68]} ##the list for every player is their x,y co-ordinate
data
, который я посылаю в функцию построения для каждого игрока, представляет собой фрейм данных и выглядит следующим образом (пример) -
Bin_Mids pass.length Frequency
0 1.3660 27.202942 1
1 1.0925 23.024565 3
2 0.8195 16.834414 3
3 0.5465 14.008925 1
4 -0.2735 21.906391 1
5 -0.5465 19.285486 1
6 -0.8195 20.975364 4
7 -1.0925 23.735166 3
Secondary Issue
Другая проблема, с которой я сталкиваюсь, состоит в том, чтобы не допустить, чтобы полярные сонары скрывали линии основного тона.Я попытался установить Zorder, но это не сработало.Есть ли способ сделать кадр сонаров невидимым?
Любая помощь будет оценена.Я не уверен, что все вопросы в этом вопросе заслуживают своих собственных вопросов, поэтому я собрал их всех вместе, поскольку они связаны между собой.