Python의 열 값별 산점도 색상 코딩
데이터 시각화에서 다양한 범주에 색상을 할당하면 명확성이 향상되고 패턴이 드러날 수 있습니다. 이 기능은 R용 ggplot2에서 쉽게 사용할 수 있지만, pandas 및 matplotlib를 사용하여 Python에서 동일한 기능을 어떻게 달성할 수 있습니까?
업데이트: Seaborn Enhancements
원래 답변 이후 , Seaborn은 유익하고 시각적으로 매력적인 플롯을 만들기 위한 강력한 라이브러리로 부상했습니다. 최근 업데이트에서는 열 값을 기준으로 산점도를 색칠하는 편리한 기능을 제공합니다.
원래 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!