Цветная гистограмма по категориям в Python

#python #pandas #matplotlib

#python #панды #matplotlib

Вопрос:

Вот иллюстрация моего фрейма данных pandas

           chapter                          imdb_rating  book
    Sozin's Comet, Part 4: Avatar Aang          9.8     Fire
    Sozin's Comet, Part 3: Into the Inferno     9.8     Fire
    The Crossroads of Destiny                   9.6     Earth
    Zuko Alone                                  9.5     Earth
    The Avatar and the Fire Lord                9.5     Fire
  

Я хотел бы построить базовую столбчатую диаграмму. С разделом по оси x, imdb_rating по оси y и цвет панели должны определяться столбцом книги. Я также хотел бы указать rgb-код цвета.

Вот мой код.

 
ax = df3.plot.bar(x = 'chapter', y ='imdb_rating', ylim = (8.9,10))
ax.set_xlabel(None)
ax.set_ylabel('Imdb Rating')
ax.set_title('Top Chapters')

  

Для этого мне нужно добавить код группировки цветов.
Что мне делать?

Ответ №1:

Согласно документу в pandas, вы можете передавать любые параметры в серверную часть построения графика, чтобы настроить свой график.

И в соответствии с документом в matplotlib, вы должны передать список цветов, чтобы указать цвет для каждой строки.

Простой подход будет таким: сначала определите свою цветовую карту и составьте свой список цветов с помощью map() .

 color_map = {
    'Earth': 'g',
    'Fire': 'r'
}
ax = df3.plot.bar(x='chapter', y='imdb_rating', color=df3.book.map(color_map.get))