Как построить график зависимости названия недели от числовых значений

Вот датасет. Хочу построить график на котором на оси абсцисс будут названия дней недели (столбец 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);

график2

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'  
);

график3

→ Ссылка
Автор решения: Виталий Тодоров
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()

введите сюда описание изображения

→ Ссылка