Выравнивание графиков Matplotlib - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь составить график очков против штрафов в конкретной игре на роликовых дерби.В игре 41 джем, но не за каждый джем начисляются очки или штрафы.

Я хочу создать таблицу штрафных очков за команду и наложить разбросанный график очков, набранных за команду.Ось X будет джемом, и поскольку штрафы и очки относятся к одной и той же игре, они относятся к одному и тому же номеру джема.

Когда я создаю график с обеими диаграммами, ось x не выравнивается должным образом.В то время как блок-схема начинается с Jam 1, диаграмма рассеяния выравнивается с Jam 1 где-то около Jam 3.

Неточный двойной график

Когда я смотрю на каждый график отдельно, диаграмма рассеянияимеет отступ перед первым замятием, но диаграмма примыкает к оси y.

точечная диаграмма рассеяния

диаграмма штрафов

Вот данные, которые будут отображены:

GJPoints
    jam_id  points
18  5   4
25  7   8
33  11  4
19  13  10
34  14  2
26  15  18
35  16  9
20  17  2
27  19  5
21  21  4
28  22  1
36  23  20
22  24  4
37  26  10
41  27  8
29  30  5
38  31  15
30  32  8
42  33  10
23  35  4
31  37  4
24  38  14
39  39  3
32  40  2
40  41  4

DJPoints
    jam_id  points
0   1   13
2   2   3
8   3   13
12  4   4
1   6   10
3   8   9
13  9   5
9   12  3
14  13  14
4   14  16
5   25  3
10  28  5
6   29  5
15  31  4
11  34  8
7   35  4
16  36  6
17  40  3

df1 (penalties)
    jam_number  team_name   name
0   1   Gotham Girls Roller Derby   3
1   3   Gotham Girls Roller Derby   2
2   4   Denver Roller Derby 2
3   4   Gotham Girls Roller Derby   1
4   5   Gotham Girls Roller Derby   2
5   6   Denver Roller Derby 1
6   8   Denver Roller Derby 2
7   9   Denver Roller Derby 1
8   9   Gotham Girls Roller Derby   1
9   10  Gotham Girls Roller Derby   1
10  12  Denver Roller Derby 2
11  13  Gotham Girls Roller Derby   3
12  14  Denver Roller Derby 1
13  14  Gotham Girls Roller Derby   2
14  15  Denver Roller Derby 1
15  16  Denver Roller Derby 2
16  19  Denver Roller Derby 1
17  20  Denver Roller Derby 2
18  21  Gotham Girls Roller Derby   1
19  23  Denver Roller Derby 2
20  24  Denver Roller Derby 1
21  25  Denver Roller Derby 1
22  25  Gotham Girls Roller Derby   1
23  26  Denver Roller Derby 2
24  27  Denver Roller Derby 1
25  28  Gotham Girls Roller Derby   2
26  30  Denver Roller Derby 1
27  30  Gotham Girls Roller Derby   2
28  31  Denver Roller Derby 4
29  33  Denver Roller Derby 1
30  33  Gotham Girls Roller Derby   1
31  34  Gotham Girls Roller Derby   1
32  35  Denver Roller Derby 2
33  35  Gotham Girls Roller Derby   1
34  36  Denver Roller Derby 1
35  37  Denver Roller Derby 1
36  38  Denver Roller Derby 2
37  38  Gotham Girls Roller Derby   1
38  39  Gotham Girls Roller Derby   1
39  40  Denver Roller Derby 1
40  41  Denver Roller Derby 1

Здесьэто код, который я использовал для создания диаграммы:

fig, ax=plt.subplots (figsize=(15,8) )
sns.barplot(x="jam_number", y="name" , hue="team_name", data=df1 )

ax.legend(title="Team Name")
ax.set_yticks([0, 1, 2, 3, 4])
ax.set(xlabel='Jam Number', ylabel='Penalties/Points')
ax2 = ax.twinx()
ax2.scatter(x=DJPoints["jam_id"], y=DJPoints["points"], color="blue")
ax2.scatter(x=GJPoints["jam_id"], y=GJPoints["points"], color="red")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...