반응형

<참조> https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.plot.html

 

matplotlib.pyplot.plot 3.1.1 API

 

정리. 오상문 sualchi@daum.net

 
matplotlib.pyplot.plot(*argsscalex=Truescaley=Truedata=None**kwargs)[소스 코드]

x 대 y를 선이나 표식(마커)으로 그리기

호출 형식:

plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
Copy to clipboard

점이나 선 노드들의 좌표는 x, y로 주어진다.

옵션 매개변수 fmt:  색상, 마커 및 선 스타일과 같은 기본 서식을 정의한다. 아래 예제처럼 축약 문자열 표기법을 사용한다.

>>> plot(x, y) # x, y를 그린다. (기본 선 스타일과 색 사용) >>> plot(x, y, 'bo') # x, y를 그린다. (파란 원 표시 사용) >>> plot(y) # x를 인덱스 배열 0..N-1를 사용하여 y를 그린다. >>> plot(y, 'r+') # 빨간색 +를 이용하여 y를 그린다.

Copy to clipboard

모양을 세밀하게 제어하기 위해 Line2D 속성을 키워드 인수로 사용할 수 있다. 선 속성과 fmt를 혼합 할 수 있다. 다음 두 호출은 동일한 결과를 갖는다.

>>> plot(x, y, 'go--', linewidth=2, markersize=12)
>>> plot(x, y, color='green', marker='o', linestyle='dashed',
...      linewidth=2, markersize=12)
Copy to clipboard

fmt와 충돌할 때는 키워드 인수가 우선 처리된다.

레이블 있는 자료 그리기

레이블이 지정된 데이터(즉, 인덱스 obj [ 'y']로 접근할 수있는 데이터)로 객체를 그리는 편리한 방법이 있다. x와 y로 데이터를 제공하는 대신 data 매개 변수에 객체를 제공하고 x와 y에 레이블을 지정할 수 있다.

>>> plot('xlabel', 'ylabel', data=obj)
Copy to clipboard

모든 인덱스 가능한 객체에서 가능하다. 예를 들어 dict,  pandas.DataFame 또는 구조화된 numpy 배열이다.

다중 데이터셋을 그리기

여러 데이터셋을 그리는 방법은 다양하다.

  • 가장 직접적인 방법은 plot()을 여러 번 호출하는 것이다. 예를 들면 다음과 같다.
  • >>> plot(x1, y1, 'bo')
    >>> plot(x2, y2, 'go')
    
    Copy to clipboard
  • 또는 데이터가 2차원 배열인 경우에는 x, y에 직접 전달할 수 있다. 모든 열에 대해 별도 데이터 세트가 그려진다.
    >>> plot(a[0], a[1:])
    
    Copy to clipboard
  • 예제: 첫 칸이 x 값을 의미하고 다른 칸들이 y 칸을 의미하는 배열 a:
  • 세 번째 방법은 여러 세트의 [x], y, [fmt] 그룹을 지정하는 것이다.

    이 경우에 추가 키워드 인수가 모든 데이터 세트에 적용된다. 또한이 구문은 data 매개변수와 함께 사용할 수 없다.
  • >>> plot(x1, y1, 'g^', x2, y2, 'g-')
    
    Copy to clipboard

기본적으로, 각 줄에는 '스타일 주기(style cycle)'로 지정된 다른 스타일이 할당된다. fmt 및 line 속성 매개변수는 이러한 기본값과 명시적인 차이를 원하는 경우에만 필요하다. 또는 'axes.prop_cycle' rcParam을 사용하여 스타일 주기를 변경할 수도 있다..

파라미터
x, y : 배열 같은 것이나 스칼라
데이터 지점의 가로/세로 좌표이다. x 값은 선택사항이며 기본값은 range (len (y))이다. 일반적으로 이 매개변수는 1차원 배열이다.
스칼라이거나 2 차원일 수도 있다 (이 경우 열은 별도의 데이터 세트를 나타낸다).

이러한 인수는 키워드로 전달할 수 없다.
fmt : str, 선택사항
형식 문자열(예: 빨간색 원은 'ro')이다. 
형식 문자열은 기본 줄 속성을 빠르게 설정하는 약어이다. 이 모든 것과 키워드 인자로 제어할 수 있다.
이 인수는 키워드로 전달될 수 없다.
data : 인덱스 가능한 객체, (선택사항)
레이블이 지정된 데이터가 있는 객체이다. 주어진 경우, x 및 y로 그리는 레이블 이름을 제공한다.

참조
기술적으로 두 번째 레이블이 유효한 fmt 인 호출에는 약간 모호성이 있다. plot ( 'n', 'o', data = obj)는 plt (x, y) 또는 plt (y, fmt)일 수 있다. 그러한 경우 이전 해석이 선택되지만 경고가 나타난다. 빈 형식 문자열 플롯 ( 'n', 'o', '', data = obj)을 추가하여 경고를 표시하지 않을 수 있다.
반환값:
lines
그려지는 데이터를 나타내는 Line2D 객체의 리스트이다.
기타
파라미터
scalex, scaley : bool, optional, default: True
이러한 파라미터는 뷰 한계가 데이터 한계에 적합한 지를 결정한다. 값은 autoscale_view로 전달된다.
**kwargs : Line2D 속성, 선택사항
kwargs는 선 레이블 (자동 범례의 경우), 선폭, 앤티 앨리어싱, 표식(마커)의 면 색상과 같은 속성 지정에 사용된. 예제:

>>> plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2) >>> plot([1,2,3], [1,4,9], 'rs', label='line 2')
Copy to clipboard
하나의 plot 명령으로 여러 줄을 만들면 kwargs가 모든 해당 줄에 적용된다.
사용 가능한 Line2D 속성은 다음과 같다.
속성 설명
agg_filter 필터 함수, (m, n, 3) float 배열과 dpi 값을 취하고 (m, n, 3) 배열을 반환
alpha float
animated bool
antialiased 또는 aa bool
clip_box Bbox
clip_on bool
clip_path [(PathTransform) | Patch | None]
color 또는 c color
contains callable
dash_capstyle {'butt', 'round', 'projecting'}
dash_joinstyle {'miter', 'round', 'bevel'}
dashes float형 시쿼스 (잉크 포인트 on/off) 또는 (None, None)
drawstyle 또는 ds {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
figure Figure
fillstyle {'full', 'left', 'right', 'bottom', 'top', 'none'}
gid str
in_layout bool
label object
linestyle 또는 ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth 또는 lw float
marker 표식 모양(marker style)
markeredgecolor 또는 mec color
markeredgewidth 또는 mew float
markerfacecolor 또는 mfc color
markerfacecoloralt 또는 mfcalt color
markersize 또는 ms float
markevery None 또는 int 또는 (int, int) 또는 슬라이스 또는 List[int] 또는 float 또는 (float, float)
path_effects AbstractPathEffect
picker float 또는 callable[[Artist, Event], Tuple[bool, dict]]
pickradius float
rasterized bool 또는 None
sketch_params (scale: float, length: float, randomness: float)
snap bool 또는 None
solid_capstyle {'butt', 'round', 'projecting'}
solid_joinstyle {'miter', 'round', 'bevel'}
transform matplotlib.transforms.Transform
url str
visible bool
xdata 1차원 배열
ydata 1차원 배열
zorder float

참조

scatter
다양한 크기 및 / 또는 색상의 마커가있는 XY 산점도(scatter plot). (버블 차트라고도 함).

참고

포맷 문자열

포맷 문자열은 색, 표식, 줄 부분으로 구성된다

fmt = '[marker][line][color]'
Copy to clipboard

그들 각각은 선택사항이다. 제공되지 않으면 스타일 주기의 값이 사용된다. 예외: 선이 제공되었지만 marker 옵션이 없는 경우에 데이터는 표식 없는 선이 된다. 

[색상][표식][줄] 과 같은 다른 혼합 지정도 지원된다, 그러나 분석이 애매모호할 수 있다.

표식

문자 설명 (마커)
'.' 점 표식
',' 픽셀 표식
'o' 원 표식
'v' 역삼각형 표식
'^' 삼각형 표식
'<' 왼쪽 삼각형 표식
'>' 오른쪽 삼각형 표식
'1' tri_down 표식
'2' tri_up 표식
'3' tri_left 표식
'4' tri_right 표식
's' 사각형 표식
'p' 오각형 표식
'*' 별 표식
'h' 6각형 표식 1
'H' 6각형 표식 2
'+' 더하기 표식
'x' x 표식
'D' 다이아몬드 표식
'd' 얇은 다이아몬드 표식
'|' 수직선 표식
'_' 수평선 표식

줄 형태

문자 설명
'-' 실선
'--' 파선
'-.' 쇄선
':' 점선

포맷 문자열 예제:

'b' # blue 색 기본 표식 'or' # red 색 원형 '-g' # green 색 실선 '--' # 기본색 -- 파선 '^k:' # black 삼각 표식과 점으로 이루어진 선

Copy to clipboard

색상

색상 약어들은 한 문자 코드이다.

문자 색상
'b' blue 파란색
'g' green 녹색
'r' red 빨간색
'c' cyan 청록색
'm' magenta 심홍색
'y' yellow 노란색
'k' black 검정색
'w' white

 

색상이 형식 문자열의 유일한 부분이면 matplotlib.colors 규격(예를 들어, 전체 이름 ( 'green') 또는 16 진 문자열 ( '# 008000'))을 추가로 사용할 수 있다. 

 

반응형

+ Recent posts