기본 데이터
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic' # Windows
# matplotlib.rcParams['font.family'] = 'AppleGothic' # Mac
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False
x = [1, 2, 3]
y = [2, 4, 8]
1. 파일 저장
plt.figure(dpi = 200)
plt.plot(x,y)
plt.savefig('graph.png', dpi = 100)
이렇게 하시면 화면에 출력되는 그래프의 dpi = 200이지만, 파일에 저장되는 그래프의 dpi = 100입니다.
2. 텍스트 처리
그래프 안에 텍스트를 넣기 위해서는 plt.text() 함수를 쓰면 됩니다.
plt.plot(x,y,marker='o')
for idx, txt in enumerate(y): # x = [1, 2, 3], y = [2, 4, 8]
plt.text(x[idx], y[idx] + 0.3, txt, ha='center', color = 'b') # ha = 수평에 맞춰주는 것
x[idx]를 통해 x의 좌표에, y[idx]를 통해서 y의 좌표에 txt, 텍스트를 넣었습니다. y[idx] + 0.3은 텍스트가 너무 아래에 있어서 일부로 추가했습니다. ha = 'center'로 설정하면 marker와 txt가 수평에 맞춰집니다.
3. 여러 데이터
days = [1, 2, 3] # 1일, 2일, 3일
az = [2, 4, 8] # (단위 : 만명) 1일부터 3일까지 아스트라제네카 접종인구
pfizer = [5, 1, 3]
moderna = [1, 2, 5]
plt.plot(days, az)
plt.plot(days, pfizer)
plt.plot(days, moderna)
생각보다 별 거 없습니다. 그냥 plot을 여러 개 찍어주고 show 해준 게 다입니다.
plt.plot(days, az, label = 'az')
plt.plot(days, pfizer, label = 'pfizer', marker = 'o', ls = '--')
plt.plot(days, moderna, label = 'moderna', marker = 's', ls = '-.')
plt.legend(ncol = 3) # 컬럼을 3개로
이렇게 해주면 모두 따로 설정이 가능합니다.
참고로 ncol=3을 없애고 한 번 실행해보시면 무슨 차이가 있는지 아실 겁니다.
'Python Library > Matplotlib' 카테고리의 다른 글
[Matplotlib - Python] Plotting with pandas and seaborn (2) | 2022.06.16 |
---|---|
[Matplotlib - Python] A Brief matplotlib API Primer (1) | 2022.06.16 |
[Matplotlib - Python] Matplotlib 라이브러리와 꺾은 선 그래프의 여러 설정들 (0) | 2022.02.09 |
[Matplotlib] Matplotlib 라이브러리 (0) | 2022.02.09 |