从seaborn中的FacetGrid中删除yaxis值

时间:2014-06-30 19:05:41

标签: matplotlib seaborn

尝试删除yaxis值。

d = pd.DataFrame({'row':['a']*9 + ['b']*9 + ['c']*9,                                        
                        'col': ['fft','krn','bycp']*9,                                          
                        'val':np.random.randn(27)})                                             
    print 'data', d     

试图抓住数字不起作用。

    #f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)                                            
    f,ax = plt.subplots()                                                                       
    r= d['row'].unique()                                                                        
    (c1, c2, c3, c4, c5) = sns.color_palette("husl", 6)[:5]                                     
    g = sns.FacetGrid(d, col='col', row='row',size=.7, aspect=5, palette="husl",margin_titles=True)
    g.map(sns.rugplot,'val',height=.12)                                                         
    print sns.axes_style()

despine不会删除值

 sns.despine(left='False')                                                                   
    g.fig.subplots_adjust(wspace=.1, hspace=.02);                                               
    g.set_axis_labels(['a','b','c'], 'values');


    ax = plt.gcf().axes
    ax.axes.get_yaxis().set_visible(False)

    ax.set_visible(False)
    plt.show()

plt.gcf().axesAttributeError: 'list' object has no attribute 'axes'

get_yaxis()什么也没做。

如何从seaborn中的FacetGrid中删除yaxis值?

1 个答案:

答案 0 :(得分:23)

绘图后尝试拨打g.set(yticks=[])。这只是绕过轴并在每个轴上调用ax.set_yticks([])

这也会关闭刻度/网格线,我认为你想要这个图,但如果你只想关闭标签,你可以g.set(yticklabels=[])