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

У меня есть датафрейм автомобилей 5 разных марок со всеми моделями и их техническими данными. Упрощенно это выглядит так:

Бренд Модель Мощность в л.с. Фольксваген Гольф 7 150 Ауди А4 190 Ауди А5 190 Фольксваген Пассат 240 Фольксваген Поло 80 Форд А4 190 КИА А4 190 Ауди Q3 150 Ауди S6 400 Фольксваген Гольф 6 140 Фольксваген Гольф 5 116 ......

Как создать многолинейный график, показывающий распределение HP по каждому бренду? (каждая марка - это линия в сюжете)

Я попробовал функцию groupby или просто задал столбцы данных в конструктор линейного графика, но это не сработало.

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

кроме того, это категориальные данные, поэтому линейный график не имеет значения. вы имеете в виду столбчатую диаграмму?

D.L 15.01.2023 23:24

Вместо того, чтобы писать «это не сработало», не могли бы вы показать свой код (в виде текста), его результат (в виде изображения сюжета) и подробное объяснение того, что вам нужно, чтобы отличаться?

JohanC 15.01.2023 23:40

@D.L Колонка HP не является категориальной, поэтому я думаю, что там будет работать линия (в итоге 4 строки из-за 4 брендов)

g_user_1000 16.01.2023 18:39

@JohanC, ты совершенно прав, в следующий раз я так и сделаю. Спасибо за совет

g_user_1000 16.01.2023 18:40

@JohanC У меня больше нет кода.

g_user_1000 16.01.2023 21:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
5
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать это в Seaborn.

import seaborn as sns
import pandas as pd

# Load data into a pandas DataFrame
data = {'Brand': ['VW', 'Audi', 'Audi', 'VW', 'VW', 'Ford', 'KIA', 'Audi', 'Audi', 'VW', 'VW'],
        'Model': ['Golf 7', 'A4', 'A5', 'Passat', 'Polo', 'A4', 'A4', 'Q3', 'S6', 'Golf 6', 'Golf 5'],
        'Power in HP': [150, 190, 190, 240, 80, 190, 190, 150, 400, 140, 116]}
df = pd.DataFrame(data)

# Use seaborn's "FacetGrid" to create a grid of plots
g = sns.FacetGrid(df, col = "Brand", col_wrap=2)

# Map the histogram on the grid
g.map(sns.histplot, "Power in HP", kde=True, bins=10)

plt.xlabel('Power in HP')
plt.ylabel('Frequency')
plt.show()

который будет отображать это:

но вы должны отметить, что, поскольку данные для ford и kia являются спарами (только по одному баллу для каждого), ничего не покажет...

набор данных больше, это всего лишь пример набора данных с несколькими строками... Можно ли удалить столбцы и нарисовать все линии на одной (линейной) диаграмме?

g_user_1000 16.01.2023 18:42

да, и на самом деле графики данных будут намного лучше (более связными) в большем наборе данных.

D.L 16.01.2023 18:43

Вы имеете в виду 4 линии на одном графике или 4 отдельные линии (оба варианта определенно возможны). возможно, стоит задать новый вопрос...

D.L 16.01.2023 18:52

Я использовал ваше решение, но без kde. Я думаю, это даже понятнее, чем несколько строк в одном сюжете.

g_user_1000 16.01.2023 21:30

Другие вопросы по теме