Python에서 열 값별로 산점도를 색상으로 구분하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-19 14:47:02
원래의
688명이 탐색했습니다.

How to Color-Code Scatter Plots by Column Values in Python?

Python의 열 값별 산점도 색상 코딩

데이터 시각화에서 다양한 범주에 색상을 할당하면 명확성이 향상되고 패턴이 드러날 수 있습니다. 이 기능은 R용 ggplot2에서 쉽게 사용할 수 있지만, pandas 및 matplotlib를 사용하여 Python에서 동일한 기능을 어떻게 달성할 수 있습니까?

업데이트: Seaborn Enhancements

원래 답변 이후 , Seaborn은 유익하고 시각적으로 매력적인 플롯을 만들기 위한 강력한 라이브러리로 부상했습니다. 최근 업데이트에서는 열 값을 기준으로 산점도를 색칠하는 편리한 기능을 제공합니다.

  • seaborn.relplot 사용: 이 고급 기능은 matplotlib.pyplot.scatter와 Seaborn의 기능을 결합합니다. FacetGrid. 지정된 색조 및 순서 매개변수를 기반으로 색상 코딩을 자동으로 처리합니다.
  • matplotlib.pyplot.scatter를 seaborn.FacetGrid에 매핑: 원래 접근 방식과 유사하게 분산 함수를 FacetGrid를 사용하고 색조에 따라 색상을 맞춤설정하세요.

원래 Pandas 및 Matplotlib 접근 방식

Matplotlib을 사용하여 직접적인 접근 방식을 원하는 사람들을 위해 색상을 할당하는 사용자 정의 기능이 있습니다. 범주형 열을 기준으로 포인트에:

<code class="python">import matplotlib.pyplot as plt
import pandas as pd

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</code>
로그인 후 복사

이 함수는 고유한 카테고리 값에서 색상 사전을 생성하고 해당 색상을 데이터 포인트에 할당합니다. 그런 다음 색상으로 구분된 점을 사용하여 산점도가 생성됩니다.

제공된 샘플 데이터 프레임 사용:

<code class="python">df = pd.DataFrame({'Height': np.append(np.random.normal(6, 0.25, size=5), np.random.normal(5.4, 0.25, size=5)),
                   'Weight': np.append(np.random.normal(180, 20, size=5), np.random.normal(140, 20, size=5)),
                   'Gender': ["Male", "Male", "Male", "Male", "Male",
                              "Female", "Female", "Female", "Female", "Female"]})</code>
로그인 후 복사

dfScatter 함수 호출 데이터 프레임 사용:

<code class="python">fig = dfScatter(df)
fig.savefig('color_coded_scatterplot.png')</code>
로그인 후 복사

포인트가 성별에 따라 색상이 지정된 산점도를 생성합니다.

[성별로 색상이 지정된 산점도 이미지]

Seaborn의 고급 기능 및 사용자 정의 dfScatter 기능은 Python의 산점도에 색상 코딩을 추가하는 유연한 옵션을 제공하여 데이터 시각화를 더욱 유익하고 시각적으로 매력적으로 만듭니다.

위 내용은 Python에서 열 값별로 산점도를 색상으로 구분하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿