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",但我希望它们在不同的行中有所不同。
发布于 2018-04-27 23:34:18
所有面板都有免费的刻度,但只有部分面板有刻度和标签,这是一种误导。但如果您真的想这样做,您必须使用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([])https://stackoverflow.com/questions/50032369
复制相似问题