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

DDD
풀어 주다: 2024-10-19 14:48:30
원래의
485명이 탐색했습니다.

How to Color Scatter Plots by Column Values in Python?

열 값별로 산점도 색상 지정

Python에서 Matplotlib 라이브러리는 산점도 미학을 사용자 정의하는 여러 가지 방법을 제공합니다. 일반적인 작업 중 하나는 특정 열의 값을 기반으로 색상을 할당하는 것입니다.

Seaborn 통합

한 가지 솔루션은 Matplotlib를 기반으로 구축된 Seaborn 라이브러리를 활용하는 것입니다. Seaborn은 산점도를 특정 열에 쉽게 매핑할 수 있는 sns.relplot 및 sns.FacetGrid와 같은 고급 기능을 제공합니다. 색상 매개변수를 지정하면 카테고리 레이블이 포함된 세 번째 열에 따라 점의 색상을 지정할 수 있습니다.

<code class="python">import seaborn as sns

sns.relplot(data=df, x='Weight (kg)', y='Height (cm)', hue='Gender')</code>
로그인 후 복사

Matplotlib 직접 사용

또는 Matplotlib의 plt.scatter 함수를 사용하여 산점도를 생성하고 색상을 수동으로 지정합니다. 이를 위해서는 카테고리 레이블을 색상에 매핑하는 사용자 정의 색상 사전을 생성해야 합니다.

<code class="python">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.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)</code>
로그인 후 복사

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

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