본문 바로가기
Python/Matplotlib

막대그래프(bar chart, 바차트)의 옵션(키워드인자) 상세사항 - matplotlib(20)

by 콩돌 2019. 5. 25.
반응형

파이썬 버전 3.7 기준

matplotlib 버전 3.1.0 기준



  막대그래프(bar chart, 바차트)의 작성법


본 포스팅에서는 bar()함수 입력 키워드인자에 대한 상세 설명를 다룬다.

산포그래프의 기초적인 작섭법은 선행포스팅(링크)를 참고하도록 한다.


  bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)


이 함수는 막대그래프(bar graph)를 생성한다.


입력된 x위치에 막대(bar)가 형성되게 된다.

막대의 치수는 width와 height에 의해 설정할 수 있다.

수직상의 베이스라인은 bottom에 의해 설정 가능하다. (기본값은 0이다.)


각각의 x, height, width, bottom에 스칼라값 하나만 입력되면 모든 막대에 다 같이 적용된다.

혹은 N개의 길이를 가지는 시퀀스(sequence)는 각각의 막대에 해당 치수로 적용된다.



  bar()함수의 주요 입력 키워드 인자


 x

입력 형태: sequence of scalars


설명

필수 입력 요소이다.

막대(bar)들의 x축 위치리를 나타낸다.
막대들의 정렬을 위해 align 키워드 인자 설명 역시 참고해보는 것이 권장된다.


 height

입력 형태: scalar, sequence of scalars


설명

필수 입력 요소이다.

막대(bar)의 높이를 설정한다.



 width

입력 형태: scalar, array-like


설명

선택적으로 입력이 가능하다.

막대(bar)의 너비를 설정한다. 
기본값은 0.8이다.


 bottom

입력 형태


설명

선택적으로 입력이 가능하다.

막대의 바닥(base)쪽의 y축 좌표를 설정한다.
기본값은 0이다.



 align

입력 형태: str


설명

선택적으로 입력이 가능하다.

막대(bar)의 x축 좌표에서 정렬을 수행한다.
아래의 문자열이 입력 가능하다.
  - 'center' : 막대의 기본 x축 위치에서 중앙에 위치하도록 한다.
  - 'edge' :  막대의 기본 x축 위치에서 왼쪽 모서리로 막대를 이동시킨다.
    ※ 막대의 오른쪽으로 정렬하기 위해서는 align은 'edge'로 입력하고 width에 입력되는 값을 음수(-)로 입력하면 된다.

기본값은 'center'이다.


  bar()함수의 막대 편집을 위한 키워드 인자


아래 키워드 인자들은 기본적으로 단일값(scalar)를 입력할 경우 단일값에 대한 옵션이 모든 막대에 동일하게 설정된다.
배열과 유사한 자료형(array-like)을 입력할 시에는 막대마다 해당 옵션을 다르게 설정해줄 수 있다

 color

입력 형태: scalar, array-like


설명

선택적으로 입력이 가능하다.

막대의 색상을 설정하는 키워드 인자로 선행포스팅(링크) 색상 설정과 동일한 색상 코드를 입력받을 수 있다.



 edgecolor

입력 형태: scalar, array-like


설명

선택적으로 입력이 가능하다.

막대 테두리의 색을 설정해주는 키워드 인자이다. 

색상은 마찬가지로  선행포스팅(링크) 색상 설정과 동일한 색상 코드를 받아 쓸 수 있다.

기본적으로 edgecolor는 color 인자에 입력된 값을 사용한다. 



 linewidth

입력 형태: scalar, array-like


설명

선택적으로 입력이 가능하다.

테두리의 두께를 설정할 수 있는 키워드 인자이다.

만약 0이 입력될 경우 테두리를 그리지 않는다. 



 tick_label

입력 형태


설명

선택적으로 입력이 가능하다.

막대의 틱 라벨을 입력받는다.

기본값은 None이며 이 경우 숫자 라벨을 사용한다.



 log

입력 형태: bool


설명

선택적으로 입력이 가능하다.

True가 입력되며 y축을 로그스케일(log scale)로 설정한다.

기본값은 False이다.



 orientation

입력 형태: str


설명

선택적으로 입력이 가능하다.

'vertical', 'horizontal'이 입력가능하다.

'horizontal'로 입력할 경우 가로방향의 막대그래프로 변경시킨다.

내부적으로만 사용하고있으며, 이 변수를 사용하는 것보단 bash()함수를 이용하는 것이 바람직하다.



  bar()함수의 에러바(error bar) 편집을 위한 키워드 인자


기본적으로 bar()함수에서 에러바(error bar)를 작성할 때 해당 인자들을 errorbar()에 직접적으로 전달하여 작성한다. 
따라서 아래에 설명해주는 변수 말고도 errorbar()에서 **kwargs에 소개된 인자들은 error_kw를 통해 사용 가능하다.


 xerr, yerr

입력 형태: scalar, array-like of shape(N,), array-like of shape(2,N)


설명

선택적으로 입력이 가능하다.

입력된 값이 None아니면, 가로/세로방향으로 막대의 끝에 에러바(error bar)를 추가한다.

값은 +/- 크기이며 입력된 데이터와 관련있다.


입력한 자료형에 따라 거동이 다른대 

  - scalar: 모든 막대에 같은 대칭적인 +/- 값을 가지는 에러바를 형성시킨다.

  - shape(N,): 각각의 막대에 대칭적인 +/- 값을 가지는 에러바를 형성시킨다.

  - shape(2,N): 각각의 막대에 -와 +값이 다른 에러바를 형성시킨다. 

    + 첫번째 행은 -방향의 에러바의 길이를 설정한다.

    + 두번째 행은 +방향의 에러바의 길이를 설정한다..

  - None: 에러바를 표시하지 않는다. 


None이 기본값이며 에러바를 표시하지 않는다.  

이와 관련된 자세한 설명은 matplotlib공식홈페이지(링크) 자세히 나와있으므로 필요하다면 참고할 수 있다.



 ecolor

입력 형태: scalar, array-like


설명

선택적으로 입력이 가능하다.

에러바(error bar)의 색상을 설정한다.

색상은 마찬가지로  선행포스팅(링크) 색상 설정과 동일한 색상 코드를 받아 쓸 수 있다.



 capsize

입력 형태: scalar


설명

선택적으로 입력이 가능하다.

에러바 상단부분에 위치한 cap의 사이즈를 설정한다.

기본값은 None이며, 이 경우 rcParams["errorbar.capsize"] 값을 불러와 사용한다.



 error_kw

입력 형태: dict


설명

선택적으로 입력이 가능하다.

에러바 메서드(errorbar method)에 전달되는 kwargs의 딕셔너리(dictionary)를 입력받는다.

본 함수에 적용되는 키워드인자 ecolor와 capsize는 error_kw로 전달되는 인자보다 우선시 된다.




 


 

 

 참고자료

  https://matplotlib.org/tutorials/introductory/pyplot.html#sphx-glr-tutorials-introductory-pyplot-py

  https://matplotlib.org/api/_as_gen/matplotlib.pyplot.bar.html#matplotlib.pyplot.bar

 





반응형

댓글