问题描述
此最小代码
import pandas as pd
import plotnine as p9
df = pd.DataFrame({
'variable': ['a','b','b'],'value': [1,1,1],'name': ['one','one','two']
})
(
p9.ggplot(df,p9.aes(x='name',y='value',fill='variable'))
+ p9.geom_bar(stat='identity',position=p9.position_dodge(preserve='single'))
)
由于缺少值,
如何使名称two
和变量b
的条位于正确的位置(在two
x轴刻度的右侧)?
解决方法
Plotnine不会为条形图的空白类别保留任何空格。但是,使用children
可以获得更好的定位,它可以使每个position_dodge2(preserve='single')
位置的条形居中。