Python Seaborn:在Boxplot中保持X轴不变

时间:2017-09-08 23:25:41

标签: python seaborn boxplot

我有一个起点(prod1)和终点(prod2),它们可以来自[A,B,C,D]。

我想看到4行4个箱图,其中第一行是“从A”到箱子图到B,再到C和D。

由于没有A到A,B到B,C到C或D到D,所以箱图最终为3个图。

    import pandas as pd
    import numpy as np
    import seaborn as sns
    %matplotlib inline

    cross=np.random.randn(1000)
    prod1 = ['A','B','C','D'] * 250
    prod2 = ['A'] * 250 + ['B'] * 250 + ['C'] * 250 + ['D'] * 250 

df_cross = pd.DataFrame(
    {'prod1': prod1,
     'prod2': prod2,
     'cross': cross
    })
df_cross=df_cross[df_cross['prod1']!=df_cross['prod2']] ##cannot sell to another

    fig, (ax1, ax2, ax3, ax4) = plt.subplots(nrows=4, sharey=True)
    fig.set_size_inches(12, 16)


    sns.boxplot(data=df_cross[df_cross['prod1']=='A'], x='prod2', y='cross', ax=ax1)
    sns.boxplot(data=df_cross[df_cross['prod1']=='B'], x='prod2', y='cross', ax=ax2)
    sns.boxplot(data=df_cross[df_cross['prod1']=='C'], x='prod2', y='cross', ax=ax3)
    sns.boxplot(data=df_cross[df_cross['prod1']=='D'], x='prod2', y='cross', ax=ax4)

如您所见,x轴随每行而变化。如何确保x轴具有A,B,C,D?

0 个答案:

没有答案