Matplotlib 및 Seaborn에서 색상을 사용하여 다양한 데이터 범주를 그리는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-17 16:36:03
원래의
622명이 탐색했습니다.

How to Plot Different Data Categories with Colors in Matplotlib and Seaborn?

다양한 범주 수준에 대해 다양한 색상 표시

이 기사에서는 Python의 matplotlib 라이브러리에서 산점도를 생성하는 다양한 방법을 살펴봅니다. 데이터 포인트는 다양한 범주 수준에 따라 색상으로 구분됩니다.

matplotlib 사용

matplotlib는 색상 사용자 정의가 가능한 plt.scatter()에 대한 c 매개변수를 제공합니다. 이 매개변수는 카테고리 값을 색상에 매핑하는 목록이나 사전으로 설정할 수 있습니다.

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

# Load data
df = pd.read_csv("diamonds.csv")

# Create a color map
colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'}

# Plot data with color mapping
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()</code>
로그인 후 복사

seaborn 사용

Seaborn은 matplotlib로 통계 그래픽을 생성하기 위한 간결한 API를 제공하는 라이브러리입니다. seaborn을 사용하여 색상으로 구분된 데이터 포인트가 있는 분산형 차트를 생성하려면 fit_reg=False와 함께 sns.lmplot() 함수를 사용하여 회귀를 비활성화합니다.

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

# Plot data with color-coding
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>
로그인 후 복사

pandas.DataFrame.groupby 및 pandas.DataFrame 사용. 줄거리

seaborn을 사용하지 않으려면 pandas.groupby() 및 pandas.DataFrame.plot()을 사용하여 수동으로 동일한 결과를 얻을 수 있습니다. 이 방법에는 데이터를 색상별로 그룹화한 다음 각 그룹을 지정된 색상으로 개별적으로 구성하는 작업이 포함됩니다.

<code class="python">fig, ax = plt.subplots()

grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])</code>
로그인 후 복사

이러한 기술을 구현하면 다양한 범주 수준 간의 관계를 시각적으로 나타내는 유용한 산점도를 생성할 수 있습니다.

위 내용은 Matplotlib 및 Seaborn에서 색상을 사용하여 다양한 데이터 범주를 그리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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