📚파이썬 머신러닝 판다스 데이터분석 part4. 데이터 시각화

📄part4 matplotlib.ipynb

🐿️산점도

산점도는 서로 다른 두 변수 사이의 관계를 나타냄 각 변수는 연속되는 값을 갖음. 일반적으로 정수형(int64), 실수형(float64) 값임 2개의 연속 변수를 각각 x축과 y축에 하나씩 놓고, 데이터 값이 위치하는 (x,y) 좌표를 찾아서 점으로 표시함

plt.style.use('default')

df=pd.read_csv('data/auto-mpg.csv', header=None)

# 열 이름 지정
df.columns=['mpg','cylinders','displacement','horsepower','weight',
           'acceleration','model year','origin','name']

# 연비(mpg)와 차중(weight) 열에 대한 산점도 그리기
df.plot(kind='scatter', x='weight', y='mpg', c='coral', figsize=(10,5))
# 점의 색상(c)과 크기(s)를 설정하는 옵션 추가

# 그래프 꾸미기
plt.title('Scatter Plot - mpg vs weight')
plt.show()

Untitled

🍒 버블 차트: 점의 크기 변화

cylinders_size=df.cylinders/df.cylinders.max()*300

# 3개의 변수로 산점도 그리기
df.plot(kind='scatter', x='weight', y='mpg', c='coral', figsize=(10,5),
       s=cylinders_size, alpha=0.3)
plt.title('Scatter Plot: mpg-weight-cylinders')
plt.show()

Untitled

cylinders 개수의 상대적 비율을 계산하여 시리즈 생성 실린더 개수를 나타내는 정수를 그대로 쓰는 대신, 해당 열의 최대값 대비 상대적 크기를 나타내는 비율을 계산하여 cylinders_size 변수에 저장함 cylinders_size 는 0~1 범위의 실수 값의 배열(시리즈)임 점의 크기를 정하는 s옵션에 cylinders_size를 입력하여 값의 크기에 따라 점의 크기를 값에 따라 다르게 표시함

점의 크기에 변화를 주면 모양이 비눗방울 같다고 해서 버블 차트라고 부르기함

🍒 산점도 컬러 변화 추가

# cylinders 개수의 상대적 비율을 계산하여 시리즈 생성
cylinders_size=df.cylinders/df.cylinders.max()*300

# 3개의 변수로 산점도 그리기
df.plot(kind='scatter', x='weight', y='mpg', marker='+', figsize=(10,5),
       cmap='viridis', c=cylinders_size, s=50, alpha=0.3)
# cmap color map
plt.title('Scatter Plot: mpg-weight-cylinders')
plt.show()

Untitled

위의 버블차트의 경우 실린더 개수의 상대적 비율을 사이즈에 적용하여 버블(점) 크기에 변화를 주었다면,