logo

Matplotlib을 사용하여 Python의 상자 그림

상자 그림 ~로도 알려져 있다 수염 플롯 최소값, 1분위수, 중앙값, 3분위수, 최대값과 같은 속성을 갖는 데이터 값 집합의 요약을 표시하기 위해 생성됩니다. 상자 그림에서는 첫 번째 사분위수에서 세 번째 사분위수까지 상자가 생성되고 중앙값에서 상자를 통과하는 수직선도 있습니다. 여기서 x축은 그래프로 표시할 데이터를 나타내고 y축은 빈도 분포를 나타냅니다.

상자 그림 만들기

matplotlib 라이브러리의 matplotlib.pyplot 모듈은 상자 그림을 만들 수 있는 boxplot() 함수를 제공합니다.

통사론:

matplotlib.pyplot.boxplot(data, notch=None, vert=None, patch_artist=None, widths=None)

매개변수:

기인하다
데이터 플롯할 배열 또는 배열 시퀀스
골짜기 선택적 매개변수는 부울 값을 허용합니다.
녹색 선택적 매개변수는 수평 및 수직 플롯에 대해 각각 false 및 true 부울 값을 허용합니다.
부트스트랩 선택적 매개변수는 int가 노치가 있는 상자 그림 주위의 간격을 지정하는 것을 허용합니다.
사용자 중앙값 선택적 매개변수는 데이터와 호환되는 배열 또는 배열 차원의 시퀀스를 허용합니다.
위치 선택적 매개변수는 배열을 받아들이고 상자의 위치를 ​​설정합니다.
너비 선택적 매개변수는 배열을 허용하고 상자의 너비를 설정합니다.
패치_아티스트 부울 값을 갖는 선택적 매개변수
라벨 문자열의 시퀀스는 각 데이터 세트에 대한 레이블을 설정합니다.
평균선 부울 값을 갖는 선택 사항으로 평균선을 상자의 전체 너비로 렌더링하려고 합니다.
주문하다 선택적 매개변수는 상자 그림의 순서를 설정합니다.

ax.boxplot() 메소드에 제공된 데이터 값은 Numpy 배열, Python 목록 또는 배열의 Tuple일 수 있습니다. numpy.random.normal()을 사용하여 임의의 데이터를 생성하여 상자 그림을 생성해 보겠습니다. 평균, 표준 편차 및 원하는 값 수를 인수로 사용합니다.

예:

멀티플렉서

파이썬3




Java에서 CSV 파일을 읽는 방법

# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data>=> np.random.normal(>100>,>20>,>200>)> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Creating plot> plt.boxplot(data)> # show plot> plt.show()>

>

>

산출:

상자 플롯 파이썬

상자 그림 사용자 정의

matplotlib.pyplot.boxplot()은 상자 그림에 무한한 사용자 정의 가능성을 제공합니다. notch = True 속성은 상자 그림에 노치 형식을 생성하고, patch_artist = True는 상자 그림을 색상으로 채우며, 다른 상자에 다른 색상을 설정할 수 있습니다. vert = 0 속성은 수평 상자 그림을 만듭니다. 레이블은 숫자 데이터 세트와 동일한 차원을 사용합니다.

예시 1:

파이썬3




자바의 버블 정렬

# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data_1>=> np.random.normal(>100>,>10>,>200>)> data_2>=> np.random.normal(>90>,>20>,>200>)> data_3>=> np.random.normal(>80>,>30>,>200>)> data_4>=> np.random.normal(>70>,>40>,>200>)> data>=> [data_1, data_2, data_3, data_4]> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Creating axes instance> ax>=> fig.add_axes([>0>,>0>,>1>,>1>])> # Creating plot> bp>=> ax.boxplot(data)> # show plot> plt.show()>

리디마 티와리
>

>

산출:

상자 플롯 파이썬

예시 2: 일부 사용자 정의를 사용하여 위 플롯을 수정해 보겠습니다.

파이썬3




자바의 tostring

# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data_1>=> np.random.normal(>100>,>10>,>200>)> data_2>=> np.random.normal(>90>,>20>,>200>)> data_3>=> np.random.normal(>80>,>30>,>200>)> data_4>=> np.random.normal(>70>,>40>,>200>)> data>=> [data_1, data_2, data_3, data_4]> fig>=> plt.figure(figsize>=>(>10>,>7>))> ax>=> fig.add_subplot(>111>)> # Creating axes instance> bp>=> ax.boxplot(data, patch_artist>=> True>,> >notch>=>'True'>, vert>=> 0>)> colors>=> [>'#0000FF'>,>'#00FF00'>,> >'#FFFF00'>,>'#FF00FF'>]> for> patch, color>in> zip>(bp[>'boxes'>], colors):> >patch.set_facecolor(color)> # changing color and linewidth of> # whiskers> for> whisker>in> bp[>'whiskers'>]:> >whisker.>set>(color>=>'#8B008B'>,> >linewidth>=> 1.5>,> >linestyle>=>':'>)> # changing color and linewidth of> # caps> for> cap>in> bp[>'caps'>]:> >cap.>set>(color>=>'#8B008B'>,> >linewidth>=> 2>)> # changing color and linewidth of> # medians> for> median>in> bp[>'medians'>]:> >median.>set>(color>=>'red'>,> >linewidth>=> 3>)> # changing style of fliers> for> flier>in> bp[>'fliers'>]:> >flier.>set>(marker>=>'D'>,> >color>=>'#e7298a'>,> >alpha>=> 0.5>)> > # x-axis labels> ax.set_yticklabels([>'data_1'>,>'data_2'>,> >'data_3'>,>'data_4'>])> # Adding title> plt.title(>'Customized box plot'>)> # Removing top axes and right axes> # ticks> ax.get_xaxis().tick_bottom()> ax.get_yaxis().tick_left()> > # show plot> plt.show()>

>

>

산출:

상자 플롯 파이썬