반응형

파이썬 Matplotlib을 이용한 데이터 시각화 프로그래밍4 - Matplotlib으로 산점도 그리기




산점도(Scatter plot)는 2차원 또는 3차원 좌표에 도형으로 표시를 하여 데이터의 상관관계 등을 파악하기 위해 주로 사용됩니다.


아래의 코드는 1에서 100까지 수를 마구 섞어 x좌표, y좌표를 만들고 산점도 결과를 출력하는 코드입니다.




산점도를 그려주는 Matplotlib 함수는 plt.scatter() 입니다. scatter() 함수의 인자는 다양한데, 이 코드에서는 x, y좌표와 라벨, 표시할 도형 종류, 그리고 색상만 인자로 정의했습니다.


산점도에서 표시할 수 있는 도형은 marker= 로 지정하면 되는데, Matplotlib에서 제공하는 마커의 종류는 여기를 참고하세요. 


산점도 그리기를 좀 더 응용해 보겠습니다.




위 코드는 Numpy 배열을 활용하여 50개의 좌표를 무작위로 만들고, 산점도를 원 모양으로 그리되 원의 크기를 무작위로, 원의 색상도 무작위로 해서 그려줍니다.


>>> x = np.random.rand(N)

>>> y = np.random.rand(N)


0에서 1사이의 N개의 수를 무작위로 생성하여 numpy 배열로 구성합니다. 마찬가지로 colors와 area를 50개의 요소를 무작위로 만들어 numpy 배열로 구성합니다. area는 0~15 포인트 사이의 값을 가집니다.



>>> plt.scatter(x, y, label='samples', s=area, c=colors, alpha=0.5)


scatter()의 인자 s는 도형의 크기, c는 도형의 색상, alpha는 색상의 투명도를 지정합니다. alpha의 값이 0이면 완전 투명이고, 1이면 완전 불투명입니다. 


반응형

+ Recent posts