"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python의 열 값을 기반으로 산점도의 점에 색상을 할당하는 방법은 무엇입니까?

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

2024년 11월 10일에 게시됨
검색:340

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 매개변수를 사용하여 색상 열을 색상으로 지정합니다. 인수.

구현 예는 다음과 같습니다.

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