Python столбцов matplotlib, сгруппированных по неделям - PullRequest
0 голосов
/ 13 июля 2020

У меня есть следующий образец python.

import matplotlib.pyplot as plt
import numpy as np

x= ['Ja', 'Nein', 'Ja', 'Nein', 'Ja', 'Nein'] 
y = [60, 46, 31, 37, 1, 3]
week = [27.0, 27.0, 28.0, 28.0, 29.0, 29.0]

x_pos = [i for i, _ in enumerate(x)]

plt.bar(x_pos, y, color='green')

plt.xticks(x_pos, x)

plt.show()

Я хотел бы упорядочить столбцы по неделям, то есть синие столбцы для 27 недели, красные столбцы для 28, зеленые столбцы для 29 всегда отображаются для значения x. Y - это счет для этой комбинации.

Кто-нибудь может помочь?

Лучший Роберт

1 Ответ

0 голосов
/ 13 июля 2020

Вы можете создать цветовое сопоставление между неделями и цветом, который вы хотите для этой недели, и передать список цветов при создании своей фигуры:

import matplotlib.pyplot as plt
import numpy as np

x= ['Ja', 'Nein', 'Ja', 'Nein', 'Ja', 'Nein'] 
y = [60, 46, 31, 37, 1, 3]
week = [27.0, 27.0, 28.0, 28.0, 29.0, 29.0]

x_pos = [i for i, _ in enumerate(x)]

# Mapping from week to color:
week_to_color = {
    27.0: 'blue',
    28.0: 'red',
    29.0: 'green',
}

# Pass a list of colors to your bar chart:
plt.bar(x_pos, y, color=[week_to_color[w] for w in week])

plt.xticks(x_pos, x)

plt.show()

Гистограмма

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...