Ось X на графике Seaborn слишком переполнена. ⇐ Python
-
Anonymous
Ось X на графике Seaborn слишком переполнена.
Я пытаюсь построить гистограмму, на которой будут выделены только 10 крупнейших районов округа Окленд по деньгам, потраченным на азартные игры. Я написал код для фильтрации 10 основных областей, а также построения гистограммы в Сиборне.
Проблема в том, что ось X заполнена метками всех областей округа Окленд из фрейма данных. Я хочу, чтобы отображались ярлыки только для 10 лучших областей. Буду признателен за любую помощь от добрых людей.
Это снимок используемого мной фрейма данных:
Дата,AU2017_code,crime,n,Pop,AU_GMP_PER_CAPITA,Dep_Index,AU2017_name,TA2018_name,TALB 2018-02-01,500100.0,Похищение,0.0,401.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-03-01,500100.0,Похищение,0.0,402.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-04-01,500100.0,Похищение,0.0,408.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-05-01,500100.0,Похищение,0.0,409.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-06-01,500100.0,Похищение,0.0,410.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ Код создания гистограммы следующий:
импортировать панд как pd импортировать matplotlib.pyplot как plt импортировать numpy как np импортировать seaborn как sns # Извлеките год из столбца «Дата» и создайте новый столбец «Год». merged_data['Год'] = merged_data.index.year # Фильтровать данные для территорий, подпадающих под Окленд, в столбце TA2018_name. auckland_data = merged_data[merged_data['TA2018_name'] == 'Окленд'] # Рассчитайте средний показатель AU_GMP_PER_CAPITA для каждого района Окленда. avg_gmp_per_area = auckland_data.groupby('AU2017_name')['AU_GMP_PER_CAPITA'].mean() # Выберите 10 лучших регионов по AU_GMP_PER_CAPITA в Окленде. top_10_areas = avg_gmp_per_area.nlargest(10).index # Дальнейшая фильтрация auckland_data, чтобы включить только 10 лучших областей filtered_data = auckland_data[auckland_data['AU2017_name'].isin(top_10_areas)] # Используйте seaborn для создания штриховой диаграммы sns.barplot(x='AU2017_name', y='AU_GMP_PER_CAPITA', hue='Год', data=filtered_data) plt.title('10 самых популярных мест для азартных игр в Окленде') plt.xticks(поворот=60) plt.legend(title='Год', loc='верхний правый') plt.figure(figsize = (20, 10)) plt.show() На диаграмме, которую генерирует этот код, ось X искажена, поскольку в метках указано название каждой области в округе Окленд.
Я пытаюсь построить гистограмму, на которой будут выделены только 10 крупнейших районов округа Окленд по деньгам, потраченным на азартные игры. Я написал код для фильтрации 10 основных областей, а также построения гистограммы в Сиборне.
Проблема в том, что ось X заполнена метками всех областей округа Окленд из фрейма данных. Я хочу, чтобы отображались ярлыки только для 10 лучших областей. Буду признателен за любую помощь от добрых людей.
Это снимок используемого мной фрейма данных:
Дата,AU2017_code,crime,n,Pop,AU_GMP_PER_CAPITA,Dep_Index,AU2017_name,TA2018_name,TALB 2018-02-01,500100.0,Похищение,0.0,401.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-03-01,500100.0,Похищение,0.0,402.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-04-01,500100.0,Похищение,0.0,408.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-05-01,500100.0,Похищение,0.0,409.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ 2018-06-01,500100.0,Похищение,0.0,410.0,28.890063,10.0,Авануи,Крайний Северный округ,Крайний Северный округ Код создания гистограммы следующий:
импортировать панд как pd импортировать matplotlib.pyplot как plt импортировать numpy как np импортировать seaborn как sns # Извлеките год из столбца «Дата» и создайте новый столбец «Год». merged_data['Год'] = merged_data.index.year # Фильтровать данные для территорий, подпадающих под Окленд, в столбце TA2018_name. auckland_data = merged_data[merged_data['TA2018_name'] == 'Окленд'] # Рассчитайте средний показатель AU_GMP_PER_CAPITA для каждого района Окленда. avg_gmp_per_area = auckland_data.groupby('AU2017_name')['AU_GMP_PER_CAPITA'].mean() # Выберите 10 лучших регионов по AU_GMP_PER_CAPITA в Окленде. top_10_areas = avg_gmp_per_area.nlargest(10).index # Дальнейшая фильтрация auckland_data, чтобы включить только 10 лучших областей filtered_data = auckland_data[auckland_data['AU2017_name'].isin(top_10_areas)] # Используйте seaborn для создания штриховой диаграммы sns.barplot(x='AU2017_name', y='AU_GMP_PER_CAPITA', hue='Год', data=filtered_data) plt.title('10 самых популярных мест для азартных игр в Окленде') plt.xticks(поворот=60) plt.legend(title='Год', loc='верхний правый') plt.figure(figsize = (20, 10)) plt.show() На диаграмме, которую генерирует этот код, ось X искажена, поскольку в метках указано название каждой области в округе Окленд.
Мобильная версия