使用facet_grid省略轴 - plotnine

时间:2018-04-25 22:47:04

标签: python ggplot2 axes plotnine

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 :(得分:0)

所有面板都有自由秤,但只有部分标签有标记和标签,这是误导性的。但是如果你真的想要,你必须为Mattlotlib投入

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([])