У меня есть данные, которые выглядят следующим образом:
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 тыс. Точек данных для каждого сценария (их намного больше, чем один и два), я имеювычислил позиции, которые мне нужны для коробки и усов.
Я пытаюсь построить это через
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 ?
И что еще важнее, кто-нибудь знает, как это исправить?