matplotlib.cbook
#
유틸리티 함수 및 클래스 모음입니다. 원래 많은(전부는 아님) Python Cookbook에서 가져왔습니다. 따라서 이름은 cbook입니다.
이 모듈은 Matplotlib 내의 어디에서나 가져올 수 있습니다. 런타임에만 Matplotlib를 가져옵니다.
- 클래스 matplotlib.cbook. CallbackRegistry ( exception_handler=<function _exception_printer> , * , 신호=없음 ) [출처] #
베이스:
object
일련의 신호 및 콜백에 대한 등록, 처리, 차단 및 연결 해제를 처리합니다.
>>> def oneat(x): ... print('eat', x) >>> def ondrink(x): ... print('drink', x)
>>> from matplotlib.cbook import CallbackRegistry >>> callbacks = CallbackRegistry()
>>> id_eat = callbacks.connect('eat', oneat) >>> id_drink = callbacks.connect('drink', ondrink)
>>> callbacks.process('drink', 123) drink 123 >>> callbacks.process('eat', 456) eat 456 >>> callbacks.process('be merry', 456) # nothing will be called
>>> callbacks.disconnect(id_eat) >>> callbacks.process('eat', 456) # nothing will be called
>>> with callbacks.blocked(signal='drink'): ... callbacks.process('drink', 123) # nothing will be called >>> callbacks.process('drink', 123) drink 123
실제로는 매달린 참조(따라서 메모리 누수)를 방지하기 위해 콜백이 더 이상 필요하지 않을 때 항상 모든 콜백을 연결 해제해야 합니다. 그러나 Matplotlib의 실제 코드는 그렇게 하는 경우가 거의 없으며 설계상 이런 종류의 코드를 배치하기가 다소 어렵습니다. 이 문제를 해결하고 이 클래스의 메모리 누수를 방지하기 위해 바인딩된 메서드에 대한 약한 참조만 저장하므로 대상 개체가 죽어야 하는 경우 CallbackRegistry가 개체를 활성 상태로 유지하지 않습니다.
- 매개변수 :
- exception_handler 호출 가능, 선택 사항
None이 아니면 exception_handler
Exception
는 단일 매개변수 를 취하는 함수여야 합니다 . 그것은Exception
동안 콜백에 의해 발생된 모든 것과 함께 호출CallbackRegistry.process
되며 예외를 다시 발생시키거나 다른 방식으로 처리할 수 있습니다.기본 핸들러
traceback.print_exc
는 대화식 이벤트 루프가 실행 중인 경우 예외( with )를 인쇄합니다. 대화형 이벤트 루프가 실행되고 있지 않으면 예외를 다시 발생시킵니다.- 신호 목록, 선택사항
None이 아닌 경우, 신호 는 이 레지스트리가 처리하는 신호 목록입니다. 목록에 없는 신호를 시도
process
하거나 시도connect
하면ValueError
. 기본값인 없음은 처리된 신호를 제한하지 않습니다.
- 클래스 matplotlib.cbook. 그룹화기 ( 초기화 = () ) [소스] #
베이스:
object
분리 집합 데이터 구조입니다.
를 사용하여 개체를 조인하고 를 사용하여
join()
연결성을 테스트joined()
할 수 있으며 모든 분리 집합은 개체를 반복자로 사용하여 검색할 수 있습니다.결합되는 객체는 해시 가능하고 약한 참조 가능해야 합니다.
예
>>> from matplotlib.cbook import Grouper >>> class Foo: ... def __init__(self, s): ... self.s = s ... def __repr__(self): ... return self.s ... >>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef'] >>> grp = Grouper() >>> grp.join(a, b) >>> grp.join(b, c) >>> grp.join(d, e) >>> list(grp) [[a, b, c], [d, e]] >>> grp.joined(a, b) True >>> grp.joined(a, c) True >>> grp.joined(a, d) False
- 클래스 matplotlib.cbook. GrouperView ( grouper ) [출처] #
베이스:
object
Grouper
. _
- 클래스 matplotlib.cbook. 스택 ( 기본값 = 없음 ) [소스] #
베이스:
object
이동 가능한 커서가 있는 요소 스택.
웹 브라우저에서 홈/뒤로/앞으로를 모방합니다.
- matplotlib.cbook. boxplot_stats ( X , whis = 1.5 , 부트스트랩 = 없음 , 레이블 = 없음 , 자동 범위 = False ) [출처] #
를 사용하여 일련의 상자 및 위스커 플롯을 그리는 데 사용되는 통계 사전 목록을 반환합니다
bxp
.- 매개변수 :
- X 배열 유사
boxplots에 표시될 데이터입니다. 차원이 2개 이하여야 합니다.
- whis float 또는 (float, float), 기본값: 1.5
수염의 위치.
플로트인 경우 아래쪽 수염은 위의 가장 낮은 데이텀 에 있고 위쪽 수염은 아래의 가장 높은 데이텀에 있습니다 . 여기서 Q1 및 Q3은 첫 번째 및 세 번째 사분위수입니다. 의 기본값 은 상자 그림에 대한 Tukey의 원래 정의에 해당합니다.
Q1 - whis*(Q3-Q1)
Q3 + whis*(Q3-Q1)
whis = 1.5
한 쌍이 부동이면 수염을 그릴 백분위수를 나타냅니다(예: (5, 95)). 특히 이것을 (0, 100)으로 설정하면 데이터의 전체 범위를 포함하는 수염이 생깁니다.
자동 범위 가 True 이면 whis 가 자동 으로 (0, 100)으로 설정됩니다(데이터의 전체 범위 포함) .
Q1 == Q3
수염 이외의 데이터는 이상치로 간주되며 개별 점으로 표시됩니다.
- 부트스트랩 정수, 선택사항
중앙값 주변의 신뢰 구간이 부트스트랩되어야 하는 횟수(백분위수 방법).
- 배열과 같은 레이블 , 선택 사항
각 데이터세트의 레이블입니다. 길이는 X 의 치수와 호환되어야 합니다 .
- 자동 범위 부울, 선택 사항(False)
True
25번째 백분위수와 75번째 백분위수가 같도록 데이터가 분포된 경우whis
수염 끝이 데이터의 최소값과 최대값이 되도록 (0, 100)으로 설정됩니다.
- 반환 :
- 사전 목록
데이터의 각 열에 대한 결과를 포함하는 사전 목록입니다. 각 사전의 키는 다음과 같습니다.
열쇠
값 설명
상표
boxplot의 눈금 레이블
평균
산술 평균값
약
50번째 백분위수
q1
1분위수(25번째 백분위수)
q3
세 번째 사분위수(75번째 백분위수)
iqr
사분위 범위
실로
중앙값 주변의 낮은 노치
치히
중앙값 주변의 상단 노치
휘슬로
아래쪽 수염의 끝
휘시
위 수염의 끝
전단지
특이치
메모
신뢰 구간에 대한 비부트스트래핑 접근법은 가우시안 기반 점근 근사법을 사용합니다.
\[\mathrm{med} \pm 1.57 \times \frac{\mathrm{iqr}}{\sqrt{N}}\]일반적인 접근법: McGill, R., Tukey, JW 및 Larsen, WA (1978) "Variations of Boxplots", The American Statistician, 32:12-16.
- matplotlib.cbook. contiguous_regions ( 마스크 ) [출처] #
True 인 (ind0, ind1) 목록을 반환하고
mask[ind0:ind1].all()
그러한 모든 영역을 다룹니다.
- matplotlib.cbook. delete_masked_points ( * 인수 ) [소스] #
일련의 인수에서 마스킹된 점 및/또는 유한하지 않은 점을 모두 찾고 마스킹되지 않은 점만 남아 있는 인수를 반환합니다.
인수는 다음 5가지 범주 중 하나일 수 있습니다.
1차원 마스크 배열
1차원 ndarray
둘 이상의 차원을 가진 ndarray
문자열이 아닌 다른 iterable
다른 것
첫 번째 인수는 처음 네 범주 중 하나에 속해야 합니다. 길이가 첫 번째 인수와 다른 인수(따라서 범주 5의 모든 인수)는 변경되지 않은 상태로 전달됩니다.
마스크는 범주 1, 2 및 4에서 올바른 길이의 모든 인수에서 가져옵니다. 마스킹된 배열에서 마스킹되거나 nan 또는 inf인 경우 포인트는 불량입니다.
numpy.isfinite
부울 배열을 생성하지 않는 경우 범주 2, 3 및 4에서 마스크를 추출하려고 시도 하지 않습니다.변경되지 않고 전달되지 않은 모든 입력 인수는 인수에서 마스크에 해당하는 포인트 또는 행을 제거한 후 ndarray로 반환됩니다.
이 함수의 훨씬 간단한 버전은 원래 Axes.scatter()의 도우미로 작성되었습니다.
- matplotlib.cbook. flatten ( seq , scalarp=<function is_scalar_or_string> ) [소스] #
병합된 중첩 컨테이너의 생성기를 반환합니다.
예를 들어:
>>> from matplotlib.cbook import flatten >>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]]) >>> print(list(flatten(l))) ['John', 'Hunter', 1, 23, 42, 5, 23]
작성자: Holger Krekel과 Luther Blissett의 합성 출처: https://code.activestate.com/recipes/121294/ 및 요리책의 레시피 1.12
- matplotlib.cbook. get_sample_data ( fname , asfileobj = True , * , np_load = False ) [소스] #
샘플 데이터 파일을 반환합니다. fname 은
mpl-data/sample_data
디렉토리에 상대적인 경로입니다. asfileobj 가 파일 객체를 반환 하면True
그렇지 않으면 파일 경로만 반환합니다.샘플 데이터 파일은 Matplotlib 패키지 내의 'mpl-data/sample_data' 디렉토리에 저장됩니다.
파일 이름이 .gz로 끝나는 경우 파일은 암시적으로 압축 해제됩니다. 파일 이름이 .npy 또는 .npz로 끝나고 asfileobj 가 True이고 np_load 가 True이면 파일이
numpy.load
. np_load는 현재 False로 기본 설정되어 있지만 향후 릴리스에서는 True로 기본 설정됩니다.
- matplotlib.cbook. index_of ( y ) [출처] #
주어진 y 에 대해 합리적인 x 값을 생성하는 도우미 함수 입니다.
x 값이 명시적으로 제공되지 않은 경우 (x, y)를 플로팅하는 데 사용됩니다.
먼저 시도 하고( y 가 a
y.index
라고 가정 ) 실패하면 .pandas.Series
range(len(y))
이는 향후 더 많은 유형의 레이블이 지정된 데이터를 처리하도록 확장될 것입니다.
- 매개변수 :
- y float 또는 배열과 유사
- 반환 :
- x, y ndarray
플로팅할 x 및 y 값입니다.
- matplotlib.cbook. is_math_text ( s ) [출처] #
문자열 s 에 수학 표현식이 포함되어 있는지 여부를 반환합니다 .
이는 s 에 이스케이프 처리되지 않은 달러 기호가 짝수로 포함되어 있는지 확인하여 수행됩니다.
- matplotlib.cbook. is_writable_file_like ( obj ) [소스] #
obj 가 write 메소드 가 있는 파일 객체처럼 보이는지 여부를 반환합니다 .
- matplotlib.cbook. ls_mapper = {'-': '솔리드', '--': '점선', '-.': 'dashdot', ':': '점선'} #
라인 스타일의 짧은 코드를 백엔드에서 사용하는 전체 이름에 매핑합니다.
- matplotlib.cbook. ls_mapper_r = {'dashdot': '-.', 'dashed': '--', 'dotted': ':', 'solid': '-'} #
백엔드에서 사용하는 선 스타일의 전체 이름을 짧은 코드에 매핑합니다.
- 클래스 matplotlib.cbook. maxdict ( 최대 크기 ) [출처] #
베이스:
dict
[ Deprecated ] 최대 크기의 사전입니다.
메모
이것은 크기를 제한하는 모든 관련 방법을 재정의하지 않으므로
__setitem__
주의해서 사용하십시오.버전 3.6부터 사용되지 않음: 대신 functools.lru_cache를 사용하십시오.
- matplotlib.cbook. normalize_kwargs ( kw , alias_mapping = 없음 ) [소스] #
kwarg 입력을 정규화하는 도우미 함수.
- 매개변수 :
- kw dict 또는 없음
키워드 인수의 사전입니다. None은 형식의 선택적 매개변수가 있는 함수를 지원하기 위해 명시적으로 지원되고 빈 사전으로 처리됩니다
props=None
.- alias_mapping dict 또는 Artist 하위 클래스 또는 Artist 인스턴스, 선택 사항
가장 낮은 우선 순위에서 가장 높은 우선 순위로 정식 이름과 별칭 목록 간의 매핑입니다.
표준 값이 목록에 없으면 우선 순위가 가장 높은 것으로 간주됩니다.
Artist 하위 클래스 또는 인스턴스가 전달되면 속성 별칭 매핑을 사용합니다.
- 레이즈 :
- 유형 오류
유효하지 않은 인수/키워드 인수가 콜러블에 전달되는 경우 Python이 발생시키는 것과 일치시키기 위해.
- matplotlib.cbook. open_file_cm ( path_or_file , 모드 = 'r' , 인코딩 = 없음 ) [소스] #
파일 개체를 통과하고 경로 유사 항목을 컨텍스트 관리합니다.
- matplotlib.cbook. print_cycles ( objects , outstream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> , show_progress=False ) [소스] #
주어진 객체 에서 순환 참조 루프를 인쇄합니다 .
gc.garbage
일부 개체가 가비지 수집되는 것을 방지하는 주기를 찾기 위해 전달하는 것이 유용한 경우가 많습니다 .- 매개변수 :
- 사물
주기를 찾을 개체 목록입니다.
- 아웃스트림
출력 스트림입니다.
- show_progress 부울
참이면 도달한 물체의 수를 발견하면 인쇄합니다.
- matplotlib.cbook. pts_to_midstep ( x , * 인수 ) [소스] #
연속선을 중간 단계로 변환합니다.
일련의 포인트 가 선형으로 연결될 때 간격의 중간에서 값을 변경하는 단계 함수를 제공하는
N
포인트로 변환 되는 경우.2N
- 매개변수 :
- x 배열
단계의 x 위치. 비어 있을 수 있습니다.
- y1, ..., yp 배열
단계로 변환될 y 배열; 모두 와 길이가 같아야 합니다
x
.
- 반환 :
- 정렬
x 및 y 값은 입력과 동일한 순서로 단계로 변환됩니다. 로 압축을 풀 수 있습니다 . 입력이 길이 이면 이러한 각 배열은 길이가 됩니다.
x_out, y1_out, ..., yp_out
N
2N
예
>>> x_s, y1_s, y2_s = pts_to_midstep(x, y1, y2)
- matplotlib.cbook. pts_to_poststep ( x , * 인수 ) [소스] #
연속 라인을 사후 단계로 변환합니다.
일련의
N
포인트가 포인트로 변환 되면 선형으로 연결될 때 간격의 끝에서 값을 변경하는 단계 함수를 제공합니다.2N + 1
- 매개변수 :
- x 배열
단계의 x 위치. 비어 있을 수 있습니다.
- y1, ..., yp 배열
단계로 변환될 y 배열; 모두 와 길이가 같아야 합니다
x
.
- 반환 :
- 정렬
x 및 y 값은 입력과 동일한 순서로 단계로 변환됩니다. 로 압축을 풀 수 있습니다 . 입력이 길이 이면 이러한 각 배열은 길이가 됩니다. 의 경우 길이는 0이 됩니다.
x_out, y1_out, ..., yp_out
N
2N + 1
N=0
예
>>> x_s, y1_s, y2_s = pts_to_poststep(x, y1, y2)
- matplotlib.cbook. pts_to_prestep ( x , * 인수 ) [소스] #
연속 라인을 사전 단계로 변환합니다.
일련의
N
포인트가 주어지면 포인트로 변환하면 선형으로 연결될 때 간격의 시작 부분에서 값을 변경하는 단계 함수가 제공됩니다.2N - 1
- 매개변수 :
- x 배열
단계의 x 위치. 비어 있을 수 있습니다.
- y1, ..., yp 배열
단계로 변환될 y 배열; 모두 와 길이가 같아야 합니다
x
.
- 반환 :
- 정렬
x 및 y 값은 입력과 동일한 순서로 단계로 변환됩니다. 로 압축을 풀 수 있습니다 . 입력이 길이 이면 이러한 각 배열은 길이가 됩니다. 의 경우 길이는 0이 됩니다.
x_out, y1_out, ..., yp_out
N
2N + 1
N=0
예
>>> x_s, y1_s, y2_s = pts_to_prestep(x, y1, y2)
- matplotlib.cbook. report_memory ( i = 0 ) [출처] #
[ Deprecated ] 프로세스가 소비한 메모리를 반환합니다.
메모
버전 3.5부터 사용되지 않음: psutil.virtual_memory를 대신 사용하십시오.
- matplotlib.cbook. safe_first_element ( obj ) [출처] #
obj 의 첫 번째 요소를 반환합니다 .
이것은 인덱스 액세스와 반복자 프로토콜을 모두 지원하는 첫 번째 요소를 얻는 유형 독립적인 방법입니다.
- matplotlib.cbook. sanitize_sequence ( 데이터 ) [소스] #
dictview 객체를 목록으로 변환합니다. 다른 입력은 변경되지 않은 상태로 반환됩니다.
- 클래스 matplotlib.cbook. silent_list ( type , seq = None ) [출처] #
베이스:
list
짧은
repr()
.이는 동질적인 아티스트 목록에 사용하기 위한 것이므로 길고 무의미한 출력이 생성되지 않습니다.
대신에
[<matplotlib.lines.Line2D object at 0x7f5749fed3c8>, <matplotlib.lines.Line2D object at 0x7f5749fed4e0>, <matplotlib.lines.Line2D object at 0x7f5758016550>]
하나는 얻을 것이다
<a list of 3 Line2D objects>
self.type
None이면 목록의 첫 번째 항목(있는 경우)에서 형식 이름을 가져옵니다 .
- matplotlib.cbook. simple_linear_interpolation ( a , steps ) [소스] #
원래 포인트 쌍 사이의 포인트 로 배열을 리샘플링합니다 .
steps - 1
a 의 각 열을 따라 각 원래 값 사이 에 포인트가 도입됩니다. 값은 선형 보간됩니다.
(steps - 1)
- 매개변수 :
- 배열, 모양(n, ... )
- 단계 int
- 반환 :
- 정렬
모양
((n - 1) * steps + 1, ...)
- matplotlib.cbook. to_filehandle ( fname , flag = 'r' , return_opened = False , encoding = None ) [소스] #
경로를 열린 파일 핸들로 변환하거나 파일류 객체를 통과시킵니다.
open_file_cm
새로 생성된 파일 개체를 더 쉽게 적절하게 닫을 수 있으므로 대신 사용을 고려하십시오 .- 매개변수 :
- fname str 또는 경로 유사 또는 파일 유사
str
또는 인 경우os.PathLike
파일은 flag 및 encoding 에 지정된 플래그를 사용하여 열립니다 . 파일류 객체인 경우 통과됩니다.- 플래그 문자열, 기본값: 'r'
fname 이 또는 인 경우 모드 인수로 전달됩니다 . fname 이 파일과 같은 경우 무시됩니다 .
open
str
os.PathLike
- return_opened 부울, 기본값: 거짓
True이면 파일 객체와 이것이 새 파일인지(호출자가 닫아야 하는) 여부를 나타내는 부울을 모두 반환합니다. False인 경우 새 파일만 반환합니다.
- 인코딩 str 또는 없음, 기본값: 없음
fname 이 또는 인 경우 모드 인수로 전달됩니다 . fname 이 파일과 같은 경우 무시됩니다 .
open
str
os.PathLike
- 반환 :
- fh 파일과 같은
- 열린 부울
open은 return_opened 가 True 인 경우에만 반환됩니다 .
- matplotlib.cbook. violin_stats ( X , 방법 , 포인트 = 100 , 분위수 = 없음 ) [출처] #
일련의 바이올린 플롯을 그리는 데 사용할 수 있는 데이터 사전 목록을 반환합니다.
Returns
사전의 필수 키를 보려면 아래 섹션을 참조하십시오 .violinplot
사용자 는 계산을 수행하기 위해 Matplotlib를 사용하는 대신 이 함수를 건너뛰고 동일한 키가 있는 사용자 정의 사전 세트를 에 전달할 수 있습니다 . 사전에 있어야 하는 키는 아래 의 반환 섹션을 참조하십시오 .- 매개변수 :
- X 배열 유사
가우시안 커널 밀도 추정치를 생성하는 데 사용될 샘플 데이터입니다. 차원이 2개 이하여야 합니다.
- 메소드 호출 가능
데이터의 각 열에 대한 커널 밀도 추정치를 계산하는 데 사용되는 방법입니다. 를 통해 호출되면 coords에 지정된 값에서 평가된 KDE 값의 벡터를 반환해야 합니다.
method(v, coords)
- 포인트 int, 기본값: 100
각 가우시안 커널 밀도 추정값을 평가할 포인트 수를 정의합니다.
- Quantiles 배열 유사, 기본값: 없음
데이터의 각 열에 대해 [0, 1] 간격의 부동 소수점 목록을 정의합니다(없음이 아닌 경우). 이는 해당 데이터 열에 대해 렌더링될 분위수를 나타냅니다. 차원이 2개 이하여야 합니다. 1D 배열은 이를 포함하는 단일 목록으로 취급됩니다.
- 반환 :
- 사전 목록
데이터의 각 열에 대한 결과를 포함하는 사전 목록입니다. 사전에는 최소한 다음이 포함됩니다.
coords: 이 특정 커널 밀도 추정값이 평가된 좌표를 포함하는 스칼라 목록입니다.
vals: coords 에 지정된 각 좌표에서 커널 밀도 추정값을 포함하는 스칼라 목록입니다 .
평균: 이 데이터 열의 평균값입니다.
중앙값: 이 데이터 열의 중앙값입니다.
min: 이 데이터 열의 최소값입니다.
max: 이 데이터 열의 최대값입니다.
분위수: 이 데이터 열의 분위수 값입니다.