Data Analysis

Python/Matplotlip(시각화) 11

[Python] Matplotlib (11) 다양한 패턴 채우기

Matplotlib 그래프 영역 또는 도형에 다양한 패턴을 채우는 방법을 소개합니다. Keyword: 패턴 채우기, hatch, set_hatch() 기본 사용 plt.style.use('default') plt.rcParams['figure.figsize'] = (6, 5) plt.rcParams['font.size'] = 12 x = [1, 2, 3] y = [1, 2, 3] fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2) ax1.bar(x, y, color='aquamarine', edgecolor='black', hatch='/') ax2.bar(x, y, color='salmon', edgecolor='black', hatch='\\') ax3.bar(..

[Python] Matplotlib (10) 박스 플롯 그리기

박스 플롯 (Box plot) 또는 박스-위스커 플롯 (Box-Whisker plot)은 수치 데이터를 표현하는 하나의 방식입니다. 일반적으로 박스 플롯은 전체 데이터로부터 얻어진 아래의 다섯 가지 요약 수치를 사용해서 그려집니다. - 최소값 - 제 1사분위 수 (Q1) - 제 2사분위 수 또는 중위수 (Q2) - 제 3사분위 수 (Q3) - 최대값 - 사분위 수는 데이터를 4등분한 지점을 의미합니다. 예를 들어, 제 1사분위 수는 전체 데이터 중 하위 25%에 해당하는 값이고, 제 3사분위 수는 전체 데이터 중 상위 25%에 해당하는 값입니다. - 이번 페이지에서는 박스 플롯을 통해 데이터의 분포를 시각화하고, 다양한 방식으로 꾸미는 방법에 대해 소개합니다. - Keyword: 박스 플롯 (Box pl..

[Python] Matplotlib (9) 텍스트 삽입하기

matplotlib.pyplot 모듈의 text() 함수는 그래프의 적절한 위치에 텍스트를 삽입하도록 합니다. text() 함수를 사용해서 그래프 영역에 텍스트를 삽입하고, 다양하게 꾸미는 방법에 대해 소개합니다. Keyword: plt.text(), text, 텍스트 삽입 (히스토그램 그리기 참조) 텍스트 삽입 기본 사용 a = 2.0 * np.random.randn(10000) + 1.0 b = np.random.standard_normal(10000) c = 20.0 * np.random.rand(5000) - 10.0 plt.hist(a, bins=100, density=True, alpha=0.7, histtype='step') plt.text(1.0, 0.35, '2.0*np.random.ra..

[Python] Matplotlib (8) 파이 차트 그리기

파이 차트 (Pie chart, 원 그래프)는 범주별 구성 비율을 원형으로 표현한 그래프입니다. 위의 그림과 같이 부채꼴의 중심각을 구성 비율에 비례하도록 표현합니다. matplotlib.pyplot 모듈의 pie() 함수를 이용해서 파이 차트를 그리는 방법에 대해 소개합니다. 파이 차트 기본 사용 ratio = [34, 32, 16, 18] labels = ['Apple', 'Banana', 'Melon', 'Grapes'] plt.pie(ratio, labels=labels, autopct='%.1f%%') plt.show() - 우선 각 영역의 비율과 이름을 ratio와 labels로 지정해주고, - pie() 함수에 순서대로 입력합니다. - autopct는 부채꼴 안에 표시될 숫자의 형식을 지정합..

[Python] Matplotlib (7) 히스토그램 그리기

히스토그램 (Histogram)은 도수분포표를 그래프로 나타낸 것으로서, 가로축은 계급, 세로축은 도수 (횟수나 개수 등)를 나타냅니다. 이번에는 matplotlib.pyplot 모듈의 hist() 함수를 이용해서 다양한 히스토그램을 그려 보겠습니다. Keyword: plt.hist(), histogram, 히스토그램 히스토그램 기본사용 weight = [68, 81, 64, 56, 78, 74, 61, 77, 66, 68, 59, 71, 80, 59, 67, 81, 69, 73, 69, 74, 70, 65] plt.hist(weight) plt.show() - weight는 몸무게 값을 나타내는 리스트입니다. - hist() 함수에 리스트의 형태로 값들을 직접 입력해주면 됩니다. 구간 개수 지정하기 w..

[Python] Matplotlib (6) 산점도 그리기

산점도 (Scatter plot)는 두 변수의 상관 관계를 직교 좌표계의 평면에 점으로 표현하는 그래프입니다. - matplotlib.pyplot 모듈의 scatter() 함수를 이용하면 산점도를 그릴 수 있습니다. - Keyword: plt.scatter(), scatter plot, 산점도 기본 사용 np.random.seed(0) n = 50 x = np.random.rand(n) y = np.random.rand(n) plt.scatter(x,y) plt.show() - NumPy의 random 모듈에 포함된 rand() 함수를 사용해서 [0, 1) 범위의 난수를 각각 50개씩 생성했습니다. - x, y 데이터를 순서대로 scatter() 함수에 입력하면 x, y 값에 해당하는 위치에 기본 마커가..

[Python] Matplotlib (5) 막대 그래프 그리기

막대 그래프 (Bar graph, Bar chart)는 범주가 있는 데이터 값을 직사각형의 막대로 표현하는 그래프입니다. Matplotlib에서는 matplotlib.pyplot 모듈의 bar() 함수를 이용해서 막대 그래프를 간단하게 표현할 수 있습니다. 기본 사용 x = np.arange(3) years = ['2018', '2019', '2020'] values = [100, 400, 900] plt.bar(x, values) plt.xticks(x, years) plt.show() - 이 예제는 연도별로 변화하는 값을 갖는 데이터를 막대 그래프로 나타냅니다. - NumPy의 np.arange() 함수는 주어진 범위와 간격에 따라 균일한 값을 갖는 어레이를 반환합니다. - years는 X축에 표시될..

[Python] Matplotlib (4) 라인 스타일, 영역 채우기

linestyle 지정하기 plt.plot([1, 2, 3], [4, 4, 4], linestyle='solid', color='C0', label="'solid'") plt.plot([1, 2, 3], [3, 3, 3], linestyle='dashed', color='C0', label="'dashed'") plt.plot([1, 2, 3], [2, 2, 2], linestyle='dotted', color='C0', label="'dotted'") plt.plot([1, 2, 3], [1, 1, 1], linestyle='dashdot', color='C0', label="'dashdot'") plt.xlabel('X-Axis') plt.ylabel('Y-Axis') plt.axis([0.8, 3...

[Python] Matplotlib (3) 축 범위 지정하기

Matplotlib 축 범위 지정하기 matplotlib.pyplot 모듈의 xlim(), ylim(), axis() 함수를 사용하면 그래프의 X, Y축이 표시되는 범위를 지정할 수 있습니다. xlim() - X축이 표시되는 범위를 지정하거나 반환합니다. ylim() - Y축이 표시되는 범위를 지정하거나 반환합니다. axis() - X, Y축이 표시되는 범위를 지정하거나 반환합니다. 기본 사용 - xlim(), ylim() plt.plot([1, 2, 3, 4], [2, 3, 5, 10]) plt.xlabel('X-Axis') plt.ylabel('Y-Axis') plt.xlim([0, 5]) # X축의 범위: [xmin, xmax] plt.ylim([0, 20]) # Y축의 범위: [ymin, ymax..

[Python] Matplotlib (2) 위치지정, 범례표시

위치 지정하기 plt.plot([1, 2, 3, 4], [2, 3, 5, 10]) plt.xlabel('X-Axis', loc='right') plt.ylabel('Y-Axis', loc='top') plt.show() - xlabel() 함수의 loc 파라미터는 X축 레이블의 위치를 지정합니다. ({‘left’, ‘center’, ‘right’}) - ylabel() 함수의 loc 파라미터는 Y축 레이블의 위치를 지정합니다. ({‘bottom’, ‘center’, ‘top’}) - 이 파라미터는 Matplotlib 3.3 이후 버전부터 적용되었습니다. Matplotlib 범례 표시하기 - 범례 (Legend)는 그래프에 데이터의 종류를 표시하기 위한 텍스트입니다. - matplotlib.pyplot 모..