«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как назначить цвета точкам на точечных диаграммах на основе значений столбцов в Python?

Как назначить цвета точкам на точечных диаграммах на основе значений столбцов в Python?

Опубликовано 10 ноября 2024 г.
Просматривать:259

How to Assign Colors to Points in Scatter Plots Based on Column Values in Python?

Раскрашивание диаграмм рассеяния по значениям столбцов в Python

Универсальность ggplot2 в R позволяет плавно назначать цвета точкам данных на основе столбца ценности. Эту функцию также можно воспроизвести в Python с использованием фреймов данных pandas и Matplotlib.

Использование Pandas и Matplotlib

Чтобы сопоставить цвета со значениями в Matplotlib, рассмотрите следующие шаги:

  1. Создать словарь цветов: определите словарь, который сопоставляет уникальные значения в категориальном столбце с соответствующим цветом. Это обеспечивает согласованное назначение цвета для точек данных.
  2. Добавьте столбец цвета: создайте новый столбец в фрейме данных, который присваивает соответствующий цвет каждому значению в категориальном столбце.
  3. Постройте диаграмму рассеяния: используйте параметр c в matplotlib.pyplot.scatter, чтобы указать столбец цвета в качестве цвета. аргумент.

Вот пример реализации:

def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'):
    fig, ax = plt.subplots()
    categories = np.unique(df[catcol])
    colors = np.linspace(0, 1, len(categories))
    colordict = dict(zip(categories, colors))  

    df["Color"] = df[catcol].apply(lambda x: colordict[x])
    ax.scatter(df[xcol], df[ycol], c=df.Color)
    return fig

Пример использования

Рассмотрим фрейм данных со столбцами «Высота», «Вес» и «Пол». Чтобы создать точечную диаграмму, на которой цвета назначаются на основе столбца «Пол»:

df = pd.DataFrame({'Height':np.random.normal(size=10),
                       'Weight':np.random.normal(size=10),
                       'Gender': ["Male","Male","Unknown","Male","Male",
                                  "Female","Did not respond","Unknown","Female","Female"]})    
fig = dfScatter(df)

Это создаст диаграмму рассеяния, где столбец «Пол» определяет цвет каждой точки данных.

Заявление о выпуске Эта статья перепечатана по адресу: 1729320437. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3