使用Seaborn绘制多列Pandas DataFrame

假设我有DataFrame的列[‘X_Axis’,’col_2′,’col_3′,…,’col_n’,]

我需要在X轴上绘制第一列并在Y轴上绘制.
仅供参考:所有值均已根据X轴分组,X轴值范围为0-25,所有其他列值已标准化为0-1.我希望它在相同的图形图上,而不是子图.

首选:FactorPlot,法线图.

解决方法:

你需要melt重塑7001:

df = df.melt('X_Axis', var_name='cols', value_name='vals')
#alternative for pandas < 0.20.0
#df = pd.melt(df, 'X_Axis', var_name='cols',  value_name='vals')
g = sns.factorplot(x="X_Axis", y="vals", hue='cols', data=df)

样品:

df = pd.DataFrame({'X_Axis':[1,3,5,7,10,20],
                   'col_2':[.4,.5,.4,.5,.5,.4],
                   'col_3':[.7,.8,.9,.4,.2,.3],
                   'col_4':[.1,.3,.5,.7,.1,.0],
                   'col_5':[.5,.3,.6,.9,.2,.4]})

print (df)
   X_Axis  col_2  col_3  col_4  col_5
0       1    0.4    0.7    0.1    0.5
1       3    0.5    0.8    0.3    0.3
2       5    0.4    0.9    0.5    0.6
3       7    0.5    0.4    0.7    0.9
4      10    0.5    0.2    0.1    0.2
5      20    0.4    0.3    0.0    0.4

df = df.melt('X_Axis', var_name='cols',  value_name='vals')
g = sns.factorplot(x="X_Axis", y="vals", hue='cols', data=df)

使用Seaborn绘制多列Pandas DataFrame

上一篇:python – 外线Seaborn violinplot / boxplot


下一篇:python – 带有回归线的Seaborn条形图