如何在Seaborn中叠加两个图表?我的数据中有两列我想将它们放在同一个图表中。我怎样才能保留两个图的标签。
答案 0 :(得分:30)
对单个Axes进行操作的seaborn函数可以将一个作为参数。
例如,seaborn.kdeplot
的文档包括:
ax : matplotlib axis, optional
Axis to plot on, otherwise uses current axis
所以,如果你这样做了:
df = function_to_load_my_data()
fig, ax = plt.subplots()
然后你可以这样做:
seaborn.kdeplot(df['col1'], ax=ax)
seaborn.kdeplot(df['col2'], ax=ax)
答案 1 :(得分:16)
一种解决方案是引入一个辅助轴:
fig, ax = plt.subplots()
sb.regplot(x='round', y='money', data=firm, ax=ax)
ax2 = ax.twinx()
sb.regplot(x='round', y='dead', data=firm, ax=ax2, color='r')
sb.plt.show()
答案 2 :(得分:1)
数据是关于私人与公共拼贴数据,但有效,我们可以看到我们将所有全局参数加载到seaborn对象,然后我们将图表映射到同一个窗格。
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('College_Data',index_col=0)
g = sns.FacetGrid(df,hue='Private',palette='coolwarm',size=6,aspect=2)
g.map(plt.hist,'Outstate',bins=20,alpha=0.7)
答案 3 :(得分:-4)
最简单的例子是:
import seaborn as sns
import matplotlib.pyplot as plt
data1 = [1, 2, 3, 4, 5]
data2 = [1, 1.1, 1.3, 4, 4.1]
def plotter():
plt.plot(data1)
plt.plot(data2)
plt.show()
plotter()