Никогда не был сторонником решения задачи альтернативными способами, когда знаешь универсальный, но опыт подсказывает другое. Причиной этому служит несколько факторов, среди которых очевидная перепроверка, так как гораздо больше доверия испытываешь к результатам, подтверждаемым другим путем. Кроме того, никто не отменял закон подлости, когда рядом подходящего инструмента может не оказаться.
Однако есть и более значимые факторы, на которые даже не обращаешь внимания, пока не испробуешь несколько средств. В их числе, например, обработка типов значений, пропущенных и нулевых ячеек. Если к таким сюрпризам вовремя не подготовиться, то можно залипнуть в тщетных попытках отыскать причину. А при использовании альтернативы нестыковки сразу видны.
Но об этом как-нибудь потом. Пока построим разными способами один из частных видов графиков, отражающий частоту встречаемости значений в некотором столбце. Работать будем с датасетом о результатах поединков в рамках лиги UFC следующего вида:
Построим частоту выступлений бойцов из столбца Fighter. Сначала в Excel. Выбираем столбец, затем Вставка->Сводная диаграмма:
После перетаскиваем Fighter из верхнего окна в правое нижнее (Значения) и, дважды кликнув по появившейся строке, выбираем Параметры полей значений и нужную функцию агрегации (у меня по умолчанию сразу появилось Количество):
Затем слева увидите столбцы со значениями и рисунок, при этом в левом нижнем углу графика можно подстроить фильтрацию и сортировку:
Теперь в DataLens. Буду предполагать, что создано подключение и настроен датасет (как рассказывал ранее), осталось кликнуть "Создать чарт" в правом верхнем углу:
После перетаскиваем поле Fighters из области измерений слева чуть правее на ось X и его же на ось Y, после чего будет автоматически задана агрегация, которую можно изменить по клику с левой стороны от надписи:
Аналогично Excel можно задать фильтрацию и сортировку значений. Следует отметить, что нужную агрегацию лучше создавать на этапе формирования датасета, так как в последующем с ней можно работать в чарте как с обычным полем. В противном случае вы бы не смогли задать фильтрацию по агрегированному значению, так как при перетаскивании Fighter вам бы предлагался фильтр только по именам бойцов.
Что касается Python, я неоднократно уже решал похожие задачи (например, здесь). Воспользуемся функцией Seaborn barplot, которая для датафрейма fighter_stat с именами бойцов и частотами (получен с помощью метода value_counts) строит график:
Отмечу, что фильтрация и сортировка значений могут быть без проблем проведены в коде до прорисовки графика.