Matplotlib이란
- 파이썬에서 자료를 차트나 플롯(plot, 두 변수 간의 관계를 보이는 graph)으로 시각화하는 패키지이다,
- 다음과 같은 정형화된 차트나 플롯 이외에도 저수준 API를 사용한 다양한 시각화 기능을 제공한다.
- line plot
- scatter plot
- contour plot
- surface plot
- bar chart
- histogram
- box plot
- 사용을 위해 matplotlib과 서브패키지인 pyplot의 import가 필요하다
- 주피터 랩에서는 별도의 윈도우 Figure 표시방식을 지원하지 않아서 그래프가 출력되지 않는 경우가 생긴다
- 그래서 %matplotlib inline 매직 명령으로 주피터 내부에 그림을 표시하도록 지정해야 한다.
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
#matplotlib.pyplot.plot() 은 가장 많이 쓰이는 메서드이다.
plt.title('Plot') # 표의 이름을 뜻한다.
plt.plot([1,4,9,16]) # x tick지정을 따로 해주지 않는다면 0,1,...N-1 범위의 index array가 기본 값이 된다.
plt.show() # 플롯을 그림으로 표시한다.
plt.title('x ticks')
plt.plot([10,20,30,40],[1,4,9,16]) # x ticks를 지정해줄 수 있다.
plt.show()
한글 폰트 사용하기
- title()의 인수로 한글 문자열을 전달하면 에러가 발생함.
- 해결을 위한 추가 설정이 필요함.
#기본 폰트 설정
mpl.rcParams['font.family'] = 'Hancom Gothic' # 전체 범위에 대해 폰트 설정을 적용
#mpl.rc('font',family = 'NanumGothic') # 위의 명령어와 같은 명령어이다.
mpl.rcParams['axes.unicode_minus'] = False # unicode minus 설정을 False해줌으로써 ASCII hyphen의 -1로 넣어준다. unicode -1은 꺠질 가능성이 있기 때문임.
# 설치한 폰트 설정 저 파일 위치의 폰트들을 확인해서 긁어옴.
import matplotlib.font_manager as font_manager
import matplotlib as mpl
# Add every font at the specified location
font_dir = ['C:\\\\Chang_git\\\\python_basic\\\\fonts']
for font in font_manager.findSystemFonts(fontpaths=font_dir):
print(mpl.font_manager.FontProperties(fname=font).get_name())
font_manager.fontManager.addfont(font)
# Set font family globally
mpl.rcParams['font.family'] = 'LINE Seed Sans KR'
print(mpl.rcParams['font.family'])
mpl.rcParams['axes.unicode_minus'] = False
font_list = matplotlib.font_manager.findSystemFonts()
#font_list
# 설치된 font_list 를 확인 가능함.
# 폰트 찾는 방법.
import matplotlib.font_manager
font_list = matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
[matplotlib.font_manager.FontProperties(fname=font).get_name() for font in font_list if 'Seed' in font]
RcParams로 설정할 수 있는 font 설정들이 있음.
- font.~로 실행하며
- family, size, weight(굵기 weight : bold) 등의 설정들이 존재함.
개별 폰트 설정하기
- fontdict 키워드 인수로 변수를 전달하면 된다.
- 각 font들은 fontdict 키워드 인수로 전달하여 각각 폰트설정이 가능하다.
title_font = {'family' : 'Batang',
'size' : 24,
'color' : 'black' }
xlabel = {'family': 'Batang',
'size': 18,
'color': 'darkred'}
ylabel = {'family' : 'Batang',
'size' : 12,
'weight' : 'light',
'color': 'blue'}
plt.plot([10,20,30,40],[1,4,8,16])
plt.title('한글 제목',fontdict = title_font)
plt.xlabel('x축', fontdict=xlabel)
plt.ylabel('y축', fontdict=ylabel)
plt.show()
Style 설정하기
- 설정 순서는 색상(color), 마커(marker), 선 종류(line style)를 순서대로 한 문자로 설정 가능하다.
- 이 중 일부가 생략되면 디폴트값이 적용된다.
- 색상의 경우 앞에 #을 넣고 RGB코드를 뒤에 넣어서 사용 가능하고 아래 사진에 있는 명령어로 설정해도 된다고 한다.
- marker의 경우 아래 사진과 같다
- line style의 경우
- solid line = -
- dashed line = –
- dash-dotted line = -.
- dotted line = :
- 빈스트링 = ’ ’
- 그 외에도 선 굵기, 마커색상, 마커 굵기 등 여러 가지 스타일을 지정할 수 있다.
plt.title("'rs--' 스타일의 plot ")
plt.plot([10,20,30,40], [1,4,9,16],'rp--') # rp-- -> r = red p = pentagon marker(5각형 점)-- =점선
plt.show()
plt.plot([10,20,30,40],[1,4,9,16], c = 'b', # c == color
lw = 5, ls = '--', marker = 'o' , ms = 15 , mec = 'g', mew = 5, mfc = 'r')
#선굵기 5 , 선의 종류 --, 마커의 모양 o, 마커의 사이즈 15, 마커의 외각선 색상,마커 외각선 굵기, 마커 안쪽 색상
plt.title('스타일 적용 예')
plt.show()
'파이썬 > 파이썬 시각화' 카테고리의 다른 글
6. Seaborn - 3 (0) | 2023.05.02 |
---|---|
5. Seaborn - 2 (0) | 2023.05.02 |
4. Seaborn - 1 (0) | 2023.05.02 |
3. Matplotlib - 3 (0) | 2023.05.02 |
2. Matplotlib - 2 (0) | 2023.05.02 |