matplotlib에 style을 한 번 적용하면 주피터를 재시작하지 않는 이상 유지된다.
ggplot을 적용한 것을 원복 하고 싶어 구글링해보니 rcParams라는 개념을 알게 되었다.
The style package adds support for easy-to-switch plotting "styles" with the same parameters as a matplotlib rc file (which is read at startup to configure Matplotlib).
스타일 패키지는 matplotlib rc파일과 동일한 매개 변수를 사용하여 전환하기 쉬운 "스타일"을 지원합니다 (Matplotlib를 구성하기 위해 시작할 때 읽음).
- 출처 : https://matplotlib.org/
All of the rc settings are stored in a dictionary-like variable called matplotlib.rcParams, which is global to the matplotlib package.
모든 rc 설정은 matplotlib.rcParams라는 dictionary 와 같은 변수에 저장되며, matplotlib 패키지의 전역 변수입니다.
- 출처 : https://matplotlib.org/
정리하자면,
스타일 패키지는 rc 파일에서 불러온 내용으로 세팅된다.
사용자는 rc 설정을 변경할 수가 있고, matplotlib.rcParams을 이용하면 된다.
rcParams은 전역 변수이기에, 일단 설정이 시스템이 종료될 때까지는 유지되겠지??
원복하는 방법은 없을까? clear 하는 방법?
방법을 찾아보자!!
일단 style을 지정해두면 변경하지 않는 한 다음 그래프에도 적용된다.
1. matplotlib.rcParams 디폴트로 세팅하기 1 : default style로 세팅하기
먼저 내가 사용한 방법은 default style로 지정해 주는 것.
이 방법은 matplotlib 패키지 import 없이 바로 가능하다.
2번째 그래프를 그려주기 전, 아래처럼 세팅한다.
plt.style.use('default')
2. matplotlib.rcParams 디폴트로 세팅하기 2 : matplotlib 함수 사용
1번에서 그래프 크기가 달라져 다른 방법으로 세팅해보았다.
코드 설명전, 먼저 그래프부터...
matplotlib.rcdefaults()
Restore the rcParams from Matplotlib's internal default style.
Matplotlib의 내부 기본 스타일에서 rcParams를 복원합니다.
- 출처 : https://matplotlib.org/stable/api/matplotlib_configuration_api.html
rcdefaults() 함수를 사용하면 1번과 동일한 효과가 난다.
matplotlib를 import해서 함수를 호출했는데, plt.rcdefaults()로도 사용가능하다.
파이썬에서는 중간에 import 해도 상관없다.
matplotlib를 import한 이유는 print(matplotlib.rcParams['figure.figsize']) 코드를 추가하여 사이즈를 알아보기 위해서다.
이유는 모르겠지만, 초반 세팅과 default 세팅이 약간 다른 듯하다.
3. matplotlib.rcParams 디폴트로 세팅하기 3 : matplotlib.rcParams 업데이트 함수 사용
matplotlib.rcParams.update() 함수도 자주 쓰인다.
rcParams를 직접 설정할 수도 있지만, update 함수를 쓰는 이유는
딕셔너리로 한꺼번에 style 세팅이 가능하기 때문인 듯하다.
아래 문구를 추가하여 초기화 시켰다.
matplotlib.rcParams.update(matplotlib.rcParamsDefault)
import matplotlib를 추가해주어야 오류가 나지 않는다.
matplotlib.rcParamsDefault에서 matplotlib 패키지를 참조해야 하기 때문이다.
오늘은 여기까지....ㅎ
matplotlib에 대해 다음 시간에 더 자세히 알아보자!!
'파이썬 100일 챌린지' 카테고리의 다른 글
[100일 챌린지] 파이썬 matplotlib 모든 그래프 유형 (막대, 수평막대, 원, 히스토그램, 산점도) #018 (0) | 2021.06.04 |
---|---|
[100일 챌린지] 파이썬 matplotlib 두 개의 그래프 연달아 그리기(Figure, subplots) #017 (0) | 2021.05.31 |
[100일 챌린지] 파이썬 Matplotlib 그래프 격자 스타일(ggplot), 그래프 크기(figsize) #015 (0) | 2021.05.29 |
[100일 챌린지] 파이썬 csv 모듈과 pandas 차이점, 비교 정리 #014 (0) | 2021.05.25 |
[100일 챌린지] 파이썬 csv 파일 행 단위 읽기, 행 넘기기 next() #013 (0) | 2021.05.25 |