Python plotnine geom_boxplot忽略了所需的美学效果,需要不必要的美学效果

Python plotnine geom_boxplot忽略了所需的美学效果,需要不必要的美学效果,python,python-ggplot,plotnine,Python,Python Ggplot,Plotnine,我有如下数据: Scenario ymin lower middle upper ymax One 16362.586379 20911.338893 27121.693254 35219.449009 46406.087619 Two 19779.003240 25390.096116 33108.174561 43545.202225 58464.277060 我没有为每个场景使用所有50

我有如下数据:

Scenario        ymin         lower        middle         upper      ymax
One     16362.586379  20911.338893  27121.693254  35219.449009  46406.087619
Two     19779.003240  25390.096116  33108.174561  43545.202225  58464.277060
我没有为每个场景使用所有50K数据点(不止一个和两个),而是计算了长方体和胡须所需的位置

我试着通过

import pandas
import plotnine as p9

df = pandas.read_excel('boxplot_data.xlsx', sheet='Sheet1')
gg = p9.ggplot()
gg += p9.geoms.geom_boxplot(mapping=p9.aes(x='Scenario', ymin='ymin', lower='lower', middle='middle', upper='upper', ymax='ymax'), data=df, color='k', show_legend=False, inherit_aes=False)
gg += p9.themes.theme_seaborn()
gg += p9.labels.xlab('Scenario')
gg.save(filename='scenario_boxplot.png', dpi=300)
处的文件表明,geom_箱线图代码提供了定义箱和胡须所需的美学参数

然而,运行此命令会使

plotnine.exceptions.PlotnineError:“stat_boxplot需要 以下缺失的美学:y'

为什么要调用具有所需美学效果的stat\u boxplot,而不是geom\u boxplot


更重要的是,有人知道如何纠正这个问题吗?

您使用的是
geom\u boxplot
stat\u boxplot
而不是
stat\u identity

geom_箱线图(stat='identity',…)

很有效,非常感谢。但我不明白为什么。如果我想使用
stats.stat\u boxplot
,我会使用它吗?geoms和stats有独立的要求。默认情况下,geom和stats是成对的,因此
stat
计算
geom
的要求,因此用户只需提供
stat
的要求。如果选择提供
geom
的要求,则必须忽略该
geom
的默认
stat
。这就是
stat\u identity
的用途,即通过用户映射直接传递到
geom