수색…


박스 플롯 기능

Matplotlibboxplot을 자체적으로 구현합니다. 이 함수의 관련 측면은 기본적으로 boxplot이 중간 값 (백분위 수 50 %)을 빨간색 선으로 표시한다는 것입니다. 상자는 Q1과 Q3 (백분위 수 25와 75)을 나타내며 수염은 데이터의 범위에 대한 아이디어를 제공합니다 (Q1 - 1.5 IQR, Q3 + 1.5 IQR, IQR은 사 분위 범위이지만 이는 확인이 부족함). 또한이 범위를 벗어나는 샘플은 마커로 표시됩니다 (이름이 플라이어 임).

참고 : boxplot의 모든 구현이 동일한 규칙을 따르는 것은 아닙니다. 아마도 가장 일반적인 boxplot 다이어그램은 위스커를 사용하여 최소값과 최대 값을 나타냅니다 (플라이어가 존재하지 않음). 또한이 플롯은 box-and-whisker plotbox-and-whisker diagram 이라고도합니다.

다음의 레서피는 현재의 matplotlib에서 boxplot을 구현할 때 할 수있는 일 중 몇 가지를 보여줍니다 :

import matplotlib.pyplot as plt
import numpy as np

X1 = np.random.normal(0, 1, 500)
X2 = np.random.normal(0.3, 1, 500)

# The most simple boxplot
plt.boxplot(X1)
plt.show()

# Changing some of its features
plt.boxplot(X1, notch=True, sym="o") # Use sym="" to shown no fliers; also showfliers=False
plt.show()

# Showing multiple boxplots on the same window
plt.boxplot((X1, X2), notch=True, sym="o", labels=["Set 1", "Set 2"])
plt.show()

# Hidding features of the boxplot
plt.boxplot(X2, notch=False, showfliers=False, showbox=False, showcaps=False, positions=[4], labels=["Set 2"])
plt.show()

# Advanced customization of the boxplot
line_props = dict(color="r", alpha=0.3)
bbox_props = dict(color="g", alpha=0.9, linestyle="dashdot")
flier_props = dict(marker="o", markersize=17)
plt.boxplot(X1, notch=True, whiskerprops=line_props, boxprops=bbox_props, flierprops=flier_props)
plt.show()

결과는 다음과 같습니다.

기본 matplotlib 상자 그림

  1. 기본 matplotlib 상자 그림

함수 인수를 사용하여 boxplot의 일부 기능 변경

  1. 함수 인수를 사용하여 boxplot의 일부 기능 변경

동일한 플롯 창에있는 다중 상자 그림

  1. 동일한 플롯 창에있는 다중 상자 그림

boxplot의 일부 기능 숨기기

  1. boxplot의 일부 기능 숨기기

소품을 사용하여 상자 플롯의 고급 사용자 정의

  1. 소품을 사용하여 상자 플롯의 고급 사용자 정의

boxplot의 고급 사용자 정의를 수행하려면 다음과 같이 구축 한 소품 사전을 알아야합니다 (예 :).

line_props = dict(color="r", alpha=0.3)
bbox_props = dict(color="g", alpha=0.9, linestyle="dashdot")
flier_props = dict(marker="o", markersize=17)
plt.boxplot(X1, notch=True, whiskerprops=line_props, boxprops=bbox_props, flierprops=flier_props)
plt.show()

... 대부분은 Line2D 객체를 참조한다. 즉, 해당 클래스에서 사용할 수있는 인수 만 변경할 수 있습니다. whiskerprops , boxprops , flierpropscapprops 와 같은 키워드가 있음을 알 수 있습니다. 이것들은 소품을 추가로 사용자 정의하기 위해 소품 사전을 제공하는 데 필요한 요소입니다.

참고 :이 구현을 사용하여 boxplot을 추가로 사용자 정의하는 것은 어려울 수 있습니다. 어떤 경우에는 패치 와 같은 다른 matplotlib 요소를 사용하여 상자 플롯을 빌드하는 것이 유리할 수 있습니다 (예 : 상자 요소에 상당한 변경).



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow