Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Second y-axis time series seaborn

Tags:

python

seaborn

Using the data frame

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] }) 

one can plot with seaborn say column1 with sns.tsplot(data=df.column1, color="g").

How can we plot both time series with two y-axis in seaborn ?

like image 897
J. Doe Avatar asked Dec 01 '17 10:12

J. Doe


2 Answers

As seaborn is built on the top of matplotlib, you can use its power:

import matplotlib.pyplot as plt sns.lineplot(data=df.column1, color="g") ax2 = plt.twinx() sns.lineplot(data=df.column2, color="b", ax=ax2) 
like image 199
Andrey Sobolev Avatar answered Sep 23 '22 14:09

Andrey Sobolev


I would recommend using a normal line plot. You can get a twin axes 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

like image 42
ImportanceOfBeingErnest Avatar answered Sep 26 '22 14:09

ImportanceOfBeingErnest