import matplotlib.pyplot as plt # matplotlib 라이브러리 load
## 한글 사용 가능하도독 폰트 설정 import matplotlib matplotlib.rcParams['font.family'] = 'Malgun Gothic' # os: window matplotlib.rcParams['axes.unicode_minus'] = False # 한글 폰트 사용 시 (-) 부호 깨짐 현상 해결
plt.scatter(irisData['SepalLength'], irisData['SepalWidth']) # 기본 산점도 그래프 plt.xlabel('SepalLength') # x축 설명 추가 plt.ylabel('SepalWidth') # y축 설명 추가
다음은 붓꽃 종류별로
점 크기를 다르게 표현해 볼게요.
그러려면, 붓꽃 종류별로
숫자를 먼저 세팅해 주어야 합니다.
그룹(붓꽃 종류) 별 점 크기 조정
## 산점도의 점 크기 변경을 위한 붓꽃 종류별 숫자 부여 import numpy as np # numpy 라이브러리 로딩 irisData['species_grp'] = np.where(irisData['Species'] == "setosa", 10, np.where(irisData['Species'] == "versicolor", 30, 100))
plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp']) plt.xlabel('SepalLength') plt.ylabel('SepalWidth')
이번에는 점의 색상도 변경해 볼게요.
산점도 점 색상 변경하기
## 산점도의 점 색상 변경하기 1 plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp'], c = irisData['species_grp']) plt.xlabel('SepalLength') plt.ylabel('SepalWidth') ## 산점도의 점 색상 변경하기 2 - cmap 활용 plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp']*100, c = irisData['species_grp'], cmap = 'plasma') plt.xlabel('SepalLength') plt.ylabel('SepalWidth')
위에서 사용한 cmap은
일종의 그라데이션이라고 보시면 됩니다.
자세한 옵션은 아래를 참고하세요.
<출처: matplotlib 홈페이지>
산점도에 투명도를 적용할 수도 있어요.
투명도 적용
## 산점도 투명도 적용 plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp']*100, c = irisData['species_grp'], cmap = 'plasma', alpha = 0.4) plt.xlabel('SepalLength') plt.ylabel('SepalWidth')
이제 마지막으로
범례 형식의 막대를 추가해 볼게요.
범례 형식의 막대 추가
## 범례 형식의 색상 막대 추가 plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp'], c = irisData['species_grp'], cmap = 'plasma', alpha = 0.4) plt.xlabel('SepalLength') plt.ylabel('SepalWidth') plt.colorbar() ## 범례 형식의 색상 막대에 대한 옵션 및 라벨 추가 plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp'], c = irisData['species_grp'], cmap = 'plasma', alpha = 0.4) plt.xlabel('SepalLength') plt.ylabel('SepalWidth') plt.colorbar(ticks = [20,60,100], label = '붓꽃 종류') ## 범례 형식의 색상 막대 길이 조정 plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp'], c = irisData['species_grp'], cmap = 'plasma', alpha = 0.4) plt.xlabel('SepalLength') plt.ylabel('SepalWidth') plt.colorbar(ticks = [20,60,100], label = '붓꽃 종류', shrink = 0.5) ## 범례 형식의 색상 막대 위치 조정 plt.figure(figsize = (10,7)) plt.scatter(irisData['SepalLength'], irisData['SepalWidth'], s = irisData['species_grp'], c = irisData['species_grp'], cmap = 'plasma', alpha = 0.4) plt.xlabel('SepalLength') plt.ylabel('SepalWidth') plt.colorbar(ticks = [20,60,100], label = '붓꽃 종류', shrink = 1.0, orientation = 'horizontal')
댓글