web-dev-qa-db-fra.com

Deuxième série chronologique sur l'axe des y Seaborn

Utilisation du bloc de données

df = pd.DataFrame({
    "date" : ["2018-01-01", "2018-01-02", "2018-01-03", "2018-01-04"],
    "column1" : [555,525,532,585],
    "column2" : [50,48,49,51]
})

on peut tracer avec seaborn dire column1 avec sns.tsplot(data=df.column1, color="g").

Comment pouvons-nous tracer les deux séries chronologiques avec deux axes des y dans Seaborn?

14
J. Doe

Je recommanderais d'utiliser un tracé de ligne normal. Vous pouvez obtenir un axe double via ax.twinx().

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"date": ["2018-01-01", "2018-01-02", "2018-01-03", "2018-01-04"],
                   "column1": [555,525,532,585], 
                   "column2": [50,48,49,51]})

ax = df.plot(x="date", y="column1", legend=False)
ax2 = ax.twinx()
df.plot(x="date", y="column2", ax=ax2, legend=False, color="r")
ax.figure.legend()
plt.show()

enter image description here

16

Comme seaborn est construit sur le dessus de matplotlib, vous pouvez utiliser sa puissance:

import matplotlib.pyplot as plt
sns.lineplot(data=df.column1, color="g")
ax2 = plt.twinx()
sns.lineplot(data=df.column2, color="b", ax=ax2)
27
Andrey Sobolev