이 문서에서는 Python에서 분산형 차트를 만드는 방법을 설명합니다. 각 색상은 서로 다른 범주 수준을 나타내는 matplotlib를 사용합니다. 이 접근 방식은 Python용 seaborn 및 ggplot과 같은 보조 플롯 패키지 사용을 방지합니다.
Matplotlib는 색상 사용자 정의가 가능한 plt.scatter에 c 인수를 제공합니다. 예는 다음과 같습니다.
import matplotlib.pyplot as plt
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'carat': [0.23, 0.21, 0.23],
'price': [326, 326, 327],
'color': ['E', 'E', 'E']})
# Color mapping
colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'}
# Scatter plot with colors
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()
map(colors) 함수는 "다이아몬드" 색상을 "플로팅" 색상에 매핑합니다.
이 기사에서는 matplotlib에 중점을 두지만 , seaborn도 편리한 솔루션을 제공한다는 점을 언급할 가치가 있습니다.
import seaborn as sns
# Scatter plot with colors
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)
수동 접근 방식의 경우 팬더를 사용하여 색상별로 그룹화하고 각 그룹을 별도로 플롯할 수 있습니다.
import matplotlib.pyplot as plt
import pandas as pd
# Sample DataFrame
df = pd.DataFrame({'carat': [0.23, 0.21, 0.23],
'price': [326, 326, 327],
'color': ['E', 'E', 'E']})
# Color mapping
colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'}
# Group by color and plot
grouped = df.groupby('color')
for key, group in grouped:
group.plot(ax=plt.gca(), kind='scatter', x='carat', y='price', label=key, color=colors[key])
plt.show()
이는 이전과 동일한 DataFrame을 가정하고 플로팅 프로세스 중에 색상을 수동으로 할당합니다.
이 문서에서는 matplotlib를 사용하는 Python의 다양한 범주 수준과 seaborn을 사용하는 추가 옵션 및 pandas를 사용한 수동 접근 방식이 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3