Как построить график зависимости названия недели от числовых значений
Вот датасет. Хочу построить график на котором на оси абсцисс будут названия дней недели (столбец weekday), а на ординате значения столбца visits соответственно.
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Совершенно не помню уже кто такие абсциссы с ординатами, поэтому вот оба варианта размещения. Через Seaborn всё делается моментально. В принципе, и Pandas тоже всё умеет и сам рисовать, но там параметры не интуитивно понятные, я их не помню.
import pandas as pd
import seaborn as sns
df = pd.read_csv('weekday_day_visits.csv')
sns.barplot(x = 'visits', y = 'weekday', data = df);
Вариант с поменянными x и y:
sns.barplot(x = 'weekday', y = 'visits', data = df);
Update:
Добавил вариант с гистограммой на основе вашего кода:
import itertools
df['day_weekday'] = [w + '_' + str(d) for (w, d) in itertools.zip_longest(df['weekday'], df['day'])]
plt.figure(figsize=(15,5))
sns.barplot(x = 'day_weekday', y = 'visits', data = df);
plt.xticks(
rotation=45,
horizontalalignment='right',
fontweight='light',
fontsize='x-large'
);
Автор решения: Виталий Тодоров
→ Ссылка
day_weekday = pd.read_csv('weekday_day_visits.csv')
#создаём столбец day_weekday и заполняем его
day_weekday['day_weekday'] = day_weekday['weekday']
import itertools
day_weekday['day_weekday'] = [w + '_' + str(d) for (w, d) in \
itertools.zip_longest(day_weekday['weekday'], day_weekday['day'])]
plt.close('all')
#figsize=(12,5) - размеры холста
fig, ax = plt.subplots(1, figsize=(12,5))
ax.plot(day_weekday['day_weekday'], day_weekday['visits'])
#повернуть подписи по оси x
fig.autofmt_xdate()



