본문 바로가기

시각화

(42)
Matplotlib - 산점도 : scatter [산점도 그래프] 변수 2개를 사용해서 만드는 이변량 그래프 서로 다른 두 변수 사이의 관계를 나타내는데, 중요한 것은 각 변수가 연속되는 값을 가져야 한다는 점이다. (일반적으로 정수형 또는 실수형 값) plot(kind='scatter') plot.scatter() scatter(x, y, s=None, c=None) x, y iterable한 자료형 (시리즈, 배열) s 선택입력, 점의 크기 조정 스칼라 입력 시 크기 고정 iterable 자료 입력 시 마커마다 다른 크기 설정 가능 c 선택입력, 점의 색상 변경 iterable 자료 입력 시 마커마다 다른 색상 설정 가능 자동차 무게와 연비 사이의 관계를 산점도로 표현 s, c 조정 s에 10을 넘겨서 점의 크기를 10으로 고정했고 컬러(c)는 c..
Matplotlib - 밀도 그래프 : density, kde [밀도 그래프] 관찰값을 사용해서 추정되는 연속된 확률 분포를 그린다. 일반적인 과정은 kernel 메서드를 잘 섞어 이 분포를 근사하는 방법이나 이보다 단순한 정규분포이다. 그래서 밀도 그래프는 KDE(Kernel Density Estimate : 커넬 밀도 추정)그래프라고도 알려져 있다. plot.density plot(kind='density') plot.kde plot(kind='kde') https://steadiness-193.tistory.com/175 Matplotlib - 히스토그램 : hist [히스토그램] 변수가 하나인 단변수 데이터의 빈도수를 그래프로 표현 x축을 같은 크기의 여러 구간으로 나누고 각 구간에 속하는 데이터 값의 개수(빈도)를 y축에 표시 즉, 값들의 빈도를 분리�� ..
Matplotlib - 히스토그램 : hist [히스토그램] 변수가 하나인 단변수 데이터의 빈도수를 그래프로 표현 (일변량 그래프) x축을 같은 크기의 여러 구간으로 나누고 각 구간에 속하는 데이터 값의 개수(빈도)를 y축에 표시 즉, 값들의 빈도를 분리해서 고른 간격의 막대로 표현되며 데이터의 숫자가 막대의 높이로 나타나는 것이다. 열 데이터 분포와 빈도를 살펴보는 용도, 살펴볼 컬럼을 변수라고 표현 시리즈.plot(kind='hist') 시리즈.hist() 시리즈.plot.hist() add_subplot ax.hist() [구간(bins)] 구간을 나누는 간격의 크기에 따라 빈도가 달라지며 히스토그램의 모양이 변하게 된다. mpg(연비)컬럼에 대한 히스토그램 kind에 hist를 넣어 히스토그램을 그렸다. 구간은 bins에 10을 넣어 10개 ..
Matplotlib - 서브플롯 간의 간격 조절 : subplots_adjust, tight_layout(), constrained_layout 하나의 그래프가 아니라 여러개의 그래프를 그리다보면 x축 label과 제목이 겹치는 현상이 자주 발생한다. 그럴 때 해결하는 방법을 알아보자 문제의 그래프 첫번째 서브플롯의 x축 label과 아래 서브플롯의 제목이 겹쳐져 있다. 해결방법1. fig.tight_layout() 위 방법은 공백이 줄어들면서 오히려 글자들이 더 겹쳐졌다. 다른 방법을 알아보자 해결방법2. subplots_adjust(left, bottom, right, top, wspace, hspace) 현재 배치되어 있는 subplot들의 위치를 직접 조정한다. left, bottom, right, top 서브플롯 4면의 위치 조정 hspace, wspace 서브플롯 간의 간격을 위해 각각 figure의 너비와 높이에 대한 비율 조절 pl..
Matplotlib - 막대 그래프, (누적)가로 막대 그래프 : bar, barh [막대 그래프] 데이터 값의 크기에 비례하여 높이를 갖는 직사각형 막대로 표현 시간적으로 차이나는 두 점에서 데이터 값의 차이를 잘 설명하므로 시계열 데이터 표현에 적합 plot.bar() 또는 plot(kind='bar') [막대 그래프를 그릴 때 유용한 방법] Series의 value_counts() 메서드를 이용해서 값의 빈도를 그리는 것 [가로 막대 그래프] 각 변수 사이, 값의 크기 차이를 설명하는데 적합 plot.barh() 또는 plot(kind='barh') [색인] 시리즈나 데이터프레임의 색인은 막대그래프 - x눈금 가로 막대그래프 - y눈금 으로 사용된다. plt.subplots를 이용해 두개의 그래프를 동시에 그린다. 막대 그래프 kind에 bar를 넘겨 막대 그래프를 그렸으며 막대의..
Matplotlib - 면적 그래프 : area 면적 그래프 각 열의 데이터를 선 그래프로 구현 plot(kind='area') 또는 plot.area() 선 그래프와 x축 사이의 공간에 색이 입혀진다. 색의 투명도(alpha)는 기본 0.5로 투과되어 보인다. (alpha = 0 ~ 1) [그래프 누적] stacked=True(기본값) 각 열의 선 그래프를 다른 열의 선 그래프 위로 쌓아올림 각 열의 패턴과 함께 열 전체 합계가 어떻게 변하는지 파악 가능 stacked=False 각 열의 선 그래프들이 누적되지 않고 서로 겹치도록 표시 (선 그래프를 동일한 화면에 여러 개 그린 것과 같은 결과) 면적 그래프 그리기 1. stacked=False 데이터를 누적하지 않는 unstacked 버전이다. 서로 겹쳐지는 부분이 잘 투과되어 보이도록 alpha=..
Matplotlib - plt.subplots subplots는 add_subplot의 번거로움을 해결하는 느낌이다. 그림틀에 두개의 그래프를 그리기 위한 준비를 해보자 1. add_subplot add_subplot은 총 3줄의 코드가 필요하지만 2. subplots subplots는 단 한줄이면 된다. 할당은 axes의 위치를 이용한다. 총 4개를 그리려면? 간단히 2행 2열을 뜻하는 2, 2를 넘겨주면 된다. figsize figsize도 간단히 바로 조정할 수 있다. 이 경우에도 각 그래프의 위치를 이용해서 ax객체를 할당해주면 된다. 편의상 1, 2, 3, 4를 왼쪽부터 오른쪽으로 설정했다. 할당은 사용자가 임의로 할 수 있다. 그래프 그리기 https://steadiness-193.tistory.com/169 Matplotlib - axe..
Matplotlib - axe 객체 생성해서 그리기 https://steadiness-193.tistory.com/168 Matplotlib - plot 차이 : 시리즈.plot vs plt.plot(시리즈) https://steadiness-193.tistory.com/149 Matplotlib - plt : 선그래프, xlabel, ylabel, title, legend(범례) 데이터 불러오기 서울에서 경기도로 이동한 인구 데이터 값 import matplotlib.pyplot as plt 한글.. steadiness-193.tistory.com 위 포스팅과 내용이 연결됩니다. 시각화용 데이터 plt.plot()으로 그리기 1. ax = plt.plot(...) ax 객체에 넣었더니 title도 set_title도 에러가 발생한다. plt.title로..