第二个y轴时间序列seaborn

时间:2017-12-01 10:43:15

标签: python seaborn

使用数据框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]})可以使用seaborn说column1sns.tsplot(data=df.column1, color="g")。 我们怎样才能在seaborn中绘制两个y轴的时间序列?

2 个答案:

答案 0 :(得分:18)

由于seaborn建立在matplotlib的顶部,您可以使用它的力量:

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

答案 1 :(得分:13)

我建议使用法线图。您可以通过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