Я пытаюсь создать следующий сюжет, сделанный в Excel, используя панд.
![enter image description here](https://i.stack.imgur.com/9Dy7P.png)
Большая часть работы на графике выполняется с использованием Excel, и получить данные в нужном формате очень утомительно и утомительно. Я хочу использовать панд, но мои боссы хотят видеть, как создаются точно такие же (или очень близкие) сюжеты.
Я обычно использую seaborn для коробочных графиков и нахожу это очень удобным, но мне нужно показать больше процентилей (5, 10, 25, 50, 75, 90 и 95), как показано на подписи к рисунку.
Я знаю, что seaborn / matplotlib позволяет мне изменять степень вискера, используя whis = [10,90], и я могу использовать showmean = True, но при этом оставляются другие маркеры (95-й и 5-й процентили) для добавления к каждому графику. Как их наложить?
Мои данные сгруппированы так, как я хочу, и я могу извлечь процентили, используя .describe (), как показано ниже
pcntls=assay.groupby(['LocalSTRAT']).describe(percentiles=[0.1,0.05,0.25,0.5,0.75,0.9,0.95])
и преобразование, которое дает мне это:
LocalSTRAT AB CBC CLB LAB LBB LBL MS TB TBL UAB UBB
count 982.000000 234.000000 159.000000 530.000000 1136.000000 72.000000 267.000000 1741.000000 16.000000 1641.000000 2099.000000
mean 0.687658 1.410962 0.118302 0.211321 0.110251 0.077917 0.766124 0.262648 0.191875 0.119174 1.320357
std 0.814027 0.855342 0.148397 0.286574 0.146550 0.088921 0.647259 0.309134 0.125497 0.207197 1.393613
min 0.005000 0.005000 0.020000 0.005000 0.005000 0.010000 0.005000 0.005000 0.060000 0.005000 0.005000
5% 0.030000 0.196500 0.030000 0.020000 0.020000 0.020000 0.060000 0.020000 0.067500 0.005000 0.170000
10% 0.050000 0.363000 0.038000 0.020000 0.020000 0.021000 0.096000 0.030000 0.070000 0.020000 0.230000
25% 0.130000 0.825000 0.045000 0.050000 0.030000 0.030000 0.225000 0.050000 0.077500 0.030000 0.450000
50% 0.400000 1.260000 0.070000 0.120000 0.050000 0.050000 0.610000 0.150000 0.175000 0.060000 0.940000
75% 0.950000 1.947500 0.140000 0.250000 0.120000 0.072500 1.120000 0.350000 0.257500 0.130000 1.570000
90% 1.720000 2.411000 0.262000 0.520000 0.265000 0.149000 1.624000 0.640000 0.340000 0.250000 2.770000
95% 2.370000 2.967500 0.322000 0.685500 0.390000 0.237000 2.037000 0.880000 0.390000 0.410000 4.322000
max 7.040000 5.070000 1.510000 2.620000 1.450000 0.580000 3.530000 2.390000 0.480000 4.190000 11.600000
Я застрял с тем, как начать строить блокпосты с нуля, используя этот вывод.
Я думаю, что проще построить некоторые коробочные диаграммы обычным способом, а затем добавить дополнительную пару точек данных (маркеры 5-го и 95-го процентиля) поверх, но не могу понять, как это сделать.
(Бонусные баллы за способ сделать легенду, подобную показанной, или как вставить файл изображения этого изображения в мой сюжет, получить линии сетки в стиле журнала и включить счетчики по оси x!)