Опустить оси с помощью facet_grid - plotnine - PullRequest
0 голосов
/ 26 апреля 2018
import pandas as pd
from plotnine import *

df=pd.DataFrame({'A':[1,1,1,1],'B':[1,9,5,11],'C':['x','x','y','y'],'D':['a','b','a','b']})
p=ggplot(df,aes('A','B'))
p + geom_bar(stat="identity") + facet_grid('D~C',scales='free_y')

Это нарисует оси как на левой, так и на правой сетке.Есть ли способ опустить оси на правой сетке, чтобы он был виден только слева?Я знаю, что могу использовать scales="fixed", но я бы хотел, чтобы они различались между строками.

1 Ответ

0 голосов
/ 27 апреля 2018

Вводить в заблуждение наличие бесплатных шкал для всех панелей, но иметь галочки и метки только для некоторых из них.Но если вы действительно хотите, вы должны зайти в Matplotlib для этого

import pandas as pd
from plotnine import *

df=pd.DataFrame({'A':[1,1,1,1],'B':[1,9,5,11],'C':['x','x','y','y'],'D':['a','b','a','b']})
p=ggplot(df,aes('A','B'))
p = p + geom_bar(stat="identity") + facet_grid('D~C',scales='free_y')
fig, p = p.draw(return_ggplot=True)
for i, ax in enumerate(p.axs):
    if i % 2:
        ax.set_yticklabels([])
        ax.set_yticks([])
...