Я изучаю панд и мне нужна помощь в улучшении эстетики моего сюжета.
Проблема Я пытаюсь построить многоколоночную гистограмму в пандах (используя 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
Вопрос
- В исходных данных у меня есть 10 разных страниц и 10 разных наборов действий, поэтому при таком подходе гистограмма выглядит очень грязно. Как я могу лучше визуализировать это?
- Как я могу увеличить ширину (толщину) каждого отдельного стержня? Кроме того, есть ли способ граничить с отдельными барами (показывая различия ч / б на каждой границе действий)?
- Как мне поместить легенду в коробку?
- Используя пакет seaborn , я смог создать этот график, но он
не может работать через matplotlib .
- Кроме того, одна страница, такая как home , имеет очень большое значение action , которое искажает гистограмму. Любые мысли о том, что можно сделать, чтобы улучшить видимость других действий страниц .
- Наконец, если я хочу отсортировать свои столбцы, используя столбец _ page_view _, буду ли я использовать функцию sortvalue ?
Очень ценю вашу помощь и предложения в этом. Устранение этих сомнений поможет в дальнейшем обучении.
К вашему сведению - я использую ноутбук Ipython и Python 3.0.