微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

绘图,缺少值时保持geom_barposition ='dodge'的相同位置

如何解决绘图,缺少值时保持geom_barposition ='dodge'的相同位置

此最小代码

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'))
)
由于缺少值,

会产生以下不正确的条形图。

bar plot with incorrect bar placement

如何使名称two和变量b的条位于正确的位置(在two x轴刻度的右侧)?

Visualization of what I want

解决方法

Plotnine不会为条形图的空白类别保留任何空格。但是,使用children可以获得更好的定位,它可以使每个position_dodge2(preserve='single')位置的条形居中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。