我的数据如下:
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 ?
更重要的是,有人知道如何纠正这个问题吗?
答案 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