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
。