plotnine geom_boxplot忽略了所需的美学,并要求了不必要的美学

时间:2019-10-04 04:56:56

标签: 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

我没有为每个场景使用 all 个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)

https://plotnine.readthedocs.io/en/stable/generated/plotnine.geoms.geom_boxplot.html#plotnine.geoms.geom_boxplot上的文档表明,geom_boxplot代码行提供了定义盒子和晶须所需的美观参数。

但是,运行此操作会得到

  

plotnine.exceptions.PlotnineError:'stat_boxplot需要   缺少美学:y'

为什么要调用 stat_boxplot 并具有所需的美感,而不是 geom_boxplot

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

1 个答案:

答案 0 :(得分:1)

您将(function(exports) { var days = ["monday", "tuesday", "wednesday", "thursday"]; exports.name = function(number) { return days[number]; }; exports.day = function(name) { return days.indexOf(name); }; })(this.weekday = {}); console.log(weekday.name(1));geom_boxplot一起使用,而不是stat_boxplot

stat_identity