ㅏ 상자 그림 ~로도 알려져 있다 수염 플롯 최소값, 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()> |
>
>
산출:
