Найти - Пользователи
Полная версия: Как упорядочить с ящики с усами по возрастанию на графике?
Начало » Python для новичков » Как упорядочить с ящики с усами по возрастанию на графике?
1
nightwing95
На основе данных таблицы построен график ящиков с усами.
Как упорядочить города слева направо по возрастанию значения относительной заболеваемости?
 import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel(r'C:\Users\cinem\Desktop\нир\3-6.xlsx')
(df.pivot_table(columns='town_name', index='cld_year',
                values='относительная заболеваемость', aggfunc='mean', fill_value=0)
   .plot.box(rot=90, figsize=(16,10)))
plt.tight_layout()
plt.show()
scidam
Нужно определиться по какому параметру делать сортировку: по среднему значению, по разбросу вокруг среднего или по медиане.
Если делать сортировку по медиане, на вашем рисунке медиана, похоже, это зелененькая линия, которая находится внутри прямоугольничков, то это все можно сделать так:

 pivoted_data = df.pivot_table(columns='town_name', index='cld_year',  values='относительная заболеваемость', aggfunc='mean', fill_value=0)
sort_inds = pd.np.argsort(pivot.median(axis=0)) #  pivot.mean, pivot.std -- alternatives
pivoted_data.iloc[:, sort_inds].boxplot(rot=90, figsize=(16,10))
plt.show()



This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB