>  기사  >  백엔드 개발  >  Python의 열 값을 기반으로 산점도의 점에 색상을 할당하는 방법은 무엇입니까?

Python의 열 값을 기반으로 산점도의 점에 색상을 할당하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-19 14:49:02759검색

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

Python에서 열 값별로 산점도 색상 지정

R에서 ggplot2의 다양성을 통해 열을 기반으로 데이터 포인트에 색상을 원활하게 할당할 수 있습니다. 가치. 이 기능은 pandas 데이터 프레임 및 Matplotlib를 사용하여 Python에서 복제할 수도 있습니다.

Pandas 및 Matplotlib 사용

색상을 Matplotlib의 값에 매핑하려면 다음 단계를 고려하세요.

  1. 색상 사전 만들기: 범주 열의 고유 값을 해당 색상에 매핑하는 사전을 정의합니다. 이렇게 하면 데이터 포인트 전체에서 일관된 색상 할당이 보장됩니다.
  2. 색상 열 추가: 범주형 열의 각 값에 해당 색상을 할당하는 데이터 프레임에 새 열을 만듭니다.
  3. 산점도 플롯: matplotlib.pyplot.scatter에서 c 매개 변수를 사용하여 색상 열을 색상 인수로 지정합니다.

다음은 구현 예입니다.

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.