-
현업에서 자주 쓰는 시각화(matplotlib.pyplot)Python_AI and Bigdata 2022. 9. 14. 00:57728x90
현업에서 자주 쓰는 시각화에 관해 포스팅합니다.
from matplotlib import pyplot as plt
먼저, 히스토그램!
변수 각각이 어떤 분포를 띠고 있는지 보고 싶을 경우, 혹은 빈도수가 어떻게 나뉘는 지 보고 싶을 경우 사용됩니다.
역시나 iris데이터로 시작합니다
plt.hist(iris["Sepal.Length"])
Out[6]:(array([ 9., 23., 14., 27., 16., 26., 18., 6., 5., 6.]), array([4.3 , 4.66, 5.02, 5.38, 5.74, 6.1 , 6.46, 6.82, 7.18, 7.54, 7.9 ]), <BarContainer object of 10 artists>)
다음으로 plot입니다. plot은 제가 보통 쓰는 방식으로 포스팅 되었고, 각자에게 맞는 방식을 찾으시길 바랍니다.
plt.figure(figsize=(15,8)) # plot size를 설정하는 방법으로(가로, 세로) 입니다. plt.plot(iris["Sepal.Length"]) plt.plot(iris["Sepal.Length"], "ro") # 빨간색 점들을 찍어줍니다. plt.xlabel("X-axis") # x축 label plt.ylabel("Y-axis") # y축 label plt.title("Title Name") # 타이틀 # title을 한글로 쓰시고 싶으시면 아래 코드를 플롯하기 전에 실행시키면 됩니다. 저는 개인적으로영어로 적는 것을 추천! """ import matplotlib matplotlib.rcParams['font.family'] ='Malgun Gothic' matplotlib.rcParams['axes.unicode_minus'] =False """
저는 다음과 같이 catter와 line을 모두 함께 출력하는 것을 선호합니다. 데이터가 밀집 되어있는 경우에는 figsize에서 세로 길이를 늘려서 꼼꼼히 데이터를 확인합니다.
다음으로, 두개의 플롯을 동시에 출력하고 싶다면?
plt.plot(iris["Sepal.Length"], 'cs--', label = 'graph1') # cyan색, square 마커 plt.plot(iris["Sepal.Width"], 'rx:', label = 'graph2') # 빨간색, x 마커 plt.legend() # 왼쪽 위에 표시된 legend 생성 plt.show() # 플롯 보여주기
한 그래프 말고 여러 그래프를 한 플롯에 출력하고 싶다면?
plt.figure(figsize=(15,8)) # plot figsize 설정 plt.subplot(221) # 2x2 플롯 중 1번째 플롯 plt.plot(iris["Sepal.Length"]) plt.title("S_L") plt.subplot(222) # 2x2 플롯 중 2번째 플롯 plt.plot(iris["Sepal.Width"]) plt.title("S_W") plt.subplot(223) # 2x2 플롯 중 3번째 플롯 plt.plot(iris["Petal.Length"]) plt.title("P_L") plt.subplot(224) # 2x2 플롯 중 4번째 플롯 plt.plot(iris["Petal.Width"]) plt.title("P_W")
이제 여러 그래프를 출력했으니, 그래프를 저장하는 방법을 알아봐야겠죠?
path = "경로/" # 이렇게 path를 따로 저장하는 이유는 아래 좋은 꿀팁이 있기 때문! # path 지정하면 가독성이 좋고 코드가 깔끔해져요. plt.plot(iris["Sepal.Length"]) plt.savefig(path + "플롯이름.png")
저렇게 하면 지정된 path에 저장이됩니다.
변수가 많은데, 모든 변수의 플롯을 하나하나 다 저장하기 힘드니 for문을 써서 플롯을 저장하는 방법을 알아봅시다!
col = iris.columns[:4] col
Out[9]:Index(['Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'], dtype='object')
In [10]:for i in col: print(i)
Sepal.Length Sepal.Width Petal.Length Petal.Width
In [11]:# iris에 관한 4가지 변수를 모두 지정된 플롯으로 자동 저장하는 방법 for i in col: plt.plot(iris[i]) plt.savefig(path + i + ".png")
여기까지가 현업에서 자주 쓰는 시각화 방법이었습니다.
이 외에도 많은 시각화 방법이 있지만 이정도만 익히고, 필요시 고급 스킬을 구글링하는 방법을 추천드립니다!
'Python_AI and Bigdata' 카테고리의 다른 글
[python] 변수 type 변환하기 astype() 함수 (0) 2022.09.15 [python] 데이터 type 확인하기 dtype 함수 (0) 2022.09.14 [python] 데이터프레임 기본 통계정보 확인하기 describe() 함수 (0) 2022.09.07 [python] 데이터프레임 상단, 하단 보기 head(), tail() 함수 (0) 2022.09.05 [python] csv파일 읽어오기 pd.read_csv() 함수 (0) 2022.09.04