모든 그래프 구성요소를 담고 있는 최상위 객체
그래프 크기 변경하기: figsize 매개변수 (그래프를 그리는 캔버스 크기)
튜플로 지정
기본 그래프 크기는 너비:6, 높이:4이고, 단위는 Inch이다.
rcParams
객체를 사용한다.그래프 크기 변경하기: dpi 매개변수 (그래프를 확대하는 돋보기 개념)
matplotlib 그래프의 기본 값을 관리하는 객체
객체에 담긴 기본값을 출력할 뿐만 아니라 값을 변경할 수도 있다.
DPI 기본값 바꾸기
plt.rcParams['figure.dpi'] = 100
```
**산점도 마커 모양 바꾸기**
```python
plt.rcParams['scatter.marker'] = '*'
```
- 여러 개의 산점도가 있고, 산점도마다 마커를 다르게 그려야 한다면 scatter() 함수에 marker 매개변수로 마커의 모양을 지정한다.
> 💡 rcParams 객체의 전체 설정 목록을 꼭 보고 싶은 경우!
> - [rcParams 객체 설정 목록](https://matplotlib.org/stable/api/matplotlib_configuration_api.html#default-values-and-styling)
> - [각 항목의 기본 값 목록](https://matplotlib.org/stable/users/explain/customizing.html#the-matplotlibrc-file)
하나의 figure 객체 안에는 여러개의 subplot을 추가할 수 있다.
subplot이란 matplotlib의 Axes 클래스 객체를 의미
하나의 subplot은 최소 두개의 축을 포함한다. (2차원 그래프의 경우, x축, y축을 포함)
각 축에는 눈금 또는 틱이 표시된다.
서브플롯 그리기: subplots 함수
서브플롯을 가로로 나란히 출력하기
서브플롯 x축, y축 라벨 설정하기
선 그래프와 막대 그래프는 한 축을 따라 어떤 데이터의 변화를 살펴보는데 용이하다.
주제분류번호 열 데이터를 입력받아 맨 앞자리만 출력하는 함수 작성 (도서관에서 책을 분류하는 기준 십진분류코드
포함)
def kdc_1st_char(no):
if no is np.nan:
return '-1'
else
return no[0]
matplotlib의 plot() 함수를 사용해서 선 그래프를 그린다.
서브플롯을 사용하지 않을 때는 그래프 제목은 title() 함수, x축 이름과 y축 이름은 각각 xlabel() 함수와 ylabel() 함수를 사용.
첫 번째 매개변수는 x축의 값, 두 번째 매개변수는 y축에 해당하는 값을 전달.
선 모양과 색상 바꾸기
e.g.) 마커는 점으로, 선은 점선을 사용한 선 그래프를 빨간색으로 그리기.
- plot 매개변수로 시리즈 객체를 넘길 경우, 알아서 index를 x축으로, value를 y축 값으로 사용
plt.plot(count_by_year, marker ='.', linestyle = ':', color = 'red')
plt.title('Books By Year')
plt.xlabel('year')
plt.ylabel('number of books')
plt.show()
위와 같이 marker, linestyle, color를 매개변수로 지정한 방법 말고 하나의 문자열로 합쳐서 표현할 수 있다.
-> '.:r'
(marker는 점으로, 선은 점선으로, 색은 빨간색으로 그리라는 의미)
💡 color 매개변수에서 지원하는 색 종류
- blue
- green
- red
- cyan
- magenta
- yellow
- black
- white
plt.plot(count_by_year, '.:r')
선 그래프 눈금 개수 조절 및 마커에 텍스트 표시하기
x축 눈금을 지정할 때는 xticks() 함수를 사용 (y축 눈금을 지정할 때는 yticks() 함수 사용)
그래프에 값을 표시할 때는 annotate() 함수를 사용
텍스트를 마커에서 떼어내기 위해 위치를 조절할 때는 xytext 매개변수를 사용
상대적인 위치를 포인트나 픽셀 단위로 지정해야 할 때는 textcoords 매개변수에 포인트 단위의 상대 위치를 나타내는 'offset points'를 지정. (1 point는 1/72 인치를 의미)
p314. 주제별 도서 개수 막대 그래프 그리기
p315. 텍스트 정렬, 막대 조절 및 색상 바꾸기