Как решить эти проблемы при построении рассеяния нескольких полярных графиков? - PullRequest
0 голосов
/ 24 июня 2019

Я хотел создать такую ​​визуализацию, как показано ниже - enter image description here

Мне удалось реализовать код из этого ответа, чтобы получить это изображение ниже enter image description here

Как видно из сравнения обоих изображений, разница в цветах велика, даже несмотря на то, что сопоставляемая последовательность - та же серия. Нужно ли создавать собственную карту цветов, чтобы цвета были более выраженными?Мой второй вопрос - как построить цветную полосу для всей фигуры?

Мой код выглядит следующим образом:


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, но это не сработало.Есть ли способ сделать кадр сонаров невидимым?

Любая помощь будет оценена.Я не уверен, что все вопросы в этом вопросе заслуживают своих собственных вопросов, поэтому я собрал их всех вместе, поскольку они связаны между собой.

...