Гистограмма с несколькими столбцами в Pandas Python - PullRequest
0 голосов
/ 26 августа 2018

Я изучаю панд и мне нужна помощь в улучшении эстетики моего сюжета.

Проблема Я пытаюсь построить многоколоночную гистограмму в пандах (используя Matplotlib или библиотеку Seaborn). Два основных столбца в моих данных

Страницы - основной столбец, в котором указывается, куда приземлился пользователь

действие - как только пользователь попадает на это, какое действие он предпринимает. Количество выполненных действий приведено в столбце action_view .

Итак, столбец Pages должен быть внешним покрытием, внутри которого должны быть значения столбца 'action'. Вот данные ниже.

Данные

import pandas as pd
import numpy as np
import seaborn as sns

sample_df = pd.DataFrame({
    'pages':('home','home','home','food','food','food','electronics','electronics','electronics','payment','payment','payment'),
    'action':('view ','added','checkout','cart viewed','added','bundled','added','product list viewed','checkout','checkout','view','removed'),
    'page_view':(100,100,100,40,40,40,70,70,70,500,500,500),
    'action_view':(30000,10000,5000,300,500,800,1500,1200,1800,1200,1400,1500)          
})

#Code for plot
sns.barplot(x='pages',y='action_view',hue='action',data=sample_df)
plt.xticks(rotation=90)
plt.xlabel('pages')
plt.ylabel('action_view')
plt.legend(loc='upper left', bbox_to_anchor=(1,1))

#Below is the image that I'm getting

enter image description here

Вопрос

  1. В исходных данных у меня есть 10 разных страниц и 10 разных наборов действий, поэтому при таком подходе гистограмма выглядит очень грязно. Как я могу лучше визуализировать это?
  2. Как я могу увеличить ширину (толщину) каждого отдельного стержня? Кроме того, есть ли способ граничить с отдельными барами (показывая различия ч / б на каждой границе действий)?
  3. Как мне поместить легенду в коробку?
  4. Используя пакет seaborn , я смог создать этот график, но он не может работать через matplotlib .
  5. Кроме того, одна страница, такая как home , имеет очень большое значение action , которое искажает гистограмму. Любые мысли о том, что можно сделать, чтобы улучшить видимость других действий страниц .
  6. Наконец, если я хочу отсортировать свои столбцы, используя столбец _ page_view _, буду ли я использовать функцию sortvalue ?

Очень ценю вашу помощь и предложения в этом. Устранение этих сомнений поможет в дальнейшем обучении. К вашему сведению - я использую ноутбук Ipython и Python 3.0.

1 Ответ

0 голосов
/ 26 августа 2018

3) plt.legend (loc = 1, bbox_to_anchor = (1,1))

...