如何将adjust_text与 plotnine 一起使用?



我正在尝试调整geom_text标签,使它们不重叠。使用nudge_x、nudge_y和大小调整标签并不能给我一个非常满意的结果。我遇到了adjust_text包,但我无法将其实现到我的代码中。

现在我的图表看起来像这样:

我尝试添加adjust_text =True(见下文(,这给了我以下错误。"参数 {'adjust_text'},几何、统计或图层都无法理解。">

(ggplot(nutrient_rel_item, aes(y='Share_calories', x='Share_biomass', color='Type',show_legend=False))
+stat_smooth( aes(y='Share_calories', x='Share_biomass'),method='lm',inherit_aes=False) 
+geom_text(aes(label='Abb'),data=nutrient_rel_item, nudge_x=0.1, nudge_y=0.1, size=4, adjust_text =True)
+facet_wrap('~CCC1',nrow=2)
+ scale_x_log10(labels=lambda l: ["%d%%" % (v * 100) for v in l])
+ scale_y_log10(labels=lambda l: ["%d%%" % (v * 100) for v in l])
+ geom_point(size=0.1) 
+ geom_path(aes(group='Item'), arrow= arrow(angle = 15, length= 0.1, type = "closed"))
+ labs(x='x', y='y')
+ theme(legend_position='none'))

您需要传递一个带有调整文本选项的字典,因此首先使用所需的选项对其进行定义,例如:

adjust_text_dict = {
'expand_points': (2, 2),
'arrowprops': {
'arrowstyle': '->',
'color': 'red'
}
}

然后使用上面的 ggplot 命令启用它,但更改行

+geom_text(aes(label='Abb'),data=nutrient_rel_item, nudge_x=0.1, nudge_y=0.1, size=4, adjust_text =True)

+geom_text(aes(label='Abb'),data=nutrient_rel_item, nudge_x=0.1, nudge_y=0.1, size=4, adjust_text=adjust_text_dict)

话虽如此,您收到的错误消息表明 plotnine 无法识别该选项本身。请注意,您至少需要版本 0.6.0 才能运行它。

相关内容

  • 没有找到相关文章

最新更新