Цвета линейного графика по категориям в python - PullRequest
0 голосов
/ 16 июня 2020

Я хотел бы создать линейный график с количеством продаж по месяцам со следующим фреймом данных под названием consola:

Date Console    Sales   Units sold 
01/01/2020  Switch  480000  2000
01/01/2020  Xbox    288000  1200 
01/01/2020  PS5 552000  2300
01/02/2020  Switch  349440  1456 
01/02/2020  Xbox    236880  987
01/02/2020  PS5 429360  1789 
01/03/2020  Switch  523200  2180
01/03/2020  Xbox    480000  2000 
01/03/2020  PS5 662400  2760
01/04/2020  Switch  426480  1777 
01/04/2020  Xbox    296400  1235
01/04/2020  PS5 444960  1854 
01/05/2020  Switch  600000  2500
01/05/2020  Xbox    396000  1650 
01/05/2020  PS5 456000  1900

Итак, я создал что-то простое:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots()

consola = pd.read_csv('c:/consola.csv') 

ax.plot(consola.index, consola['Sales'])

ax.set_xlabel('Date')

ax.set_ylabel("Sales")

ax.legend(['Console'], loc="upper left")

plt.show()

И сработало. Но я хотел бы иметь строку для каждой категории в столбце консоли (например, красная линия для переключения на зеленую для Xbox). Но не могу ... Я считаю, что это должно быть что-то простое, но я новичок в python и застрял ...

Спасибо,

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Вы хотите что-то подобное?

consola.set_index(['Date','Console'])['Sales'].unstack().plot()

Вывод:

enter image description here

1 голос
/ 16 июня 2020

Вы можете использовать seaborn:

import seaborn as sns

sns.lineplot( x=df["Date"],y=df["Sales"],hue=df["Console"])

Вывод:

enter image description here

...