기본 데이터
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False
x = [1, 2, 3]
y = [2, 4, 8]
아 참고로 title에도 따로 폰트와 size를 설정할 수 있습니다.
plt.title('꺽은 선 그래프', fontdict={'family': 'HYGungSo-Bold', 'size':20})
참고로 fontdict을 쓰지 않고도,
plt.title('꺽은 선 그래프', family= 'HYGungSo-Bold', size=20)
이렇게 쓰실 수도 있습니다.
1. plot
- label
축에 이름을 설정하고 싶으시면, xlabel, ylabel 함수를 쓰시면 됩니다.
plt.plot(x,y)
plt.xlabel('X축')
plt.ylabel('Y축')
색깔과 위치도 설정할 수 있습니다.
plt.plot(x,y)
plt.xlabel('X축', color = 'red', loc= 'right') # left, center, right
plt.ylabel('Y축', color = '#00aa00', loc = 'top') # top, center, bottom
참고로 color와 loc는 fontdict 안에 써도 무방합니다!
그리고 x축의 위치는 left, center, right로 설정할 수 있고, y축의 위치는 top, center, bottom으로 설정할 수 있습니다.
- ticks
지금은 위처럼 축에 알맞은 숫자가 들어가 있지만, 다른 숫자를 보고 싶으면 어떻게 해야 할까요??
xticks, yticks로 설정할 수 있습니다.
plt.plot(x,y)
plt.xticks([1,2,3])
plt.yticks([3,6,9,12])
plt.show()
- 범례
plot으로 설정할 때, 뒤에 label 속성을 추가해주시면 됩니다.
plt.plot(x,y, label = '무슨 데이터')
plt.legend()
누누이 말씀드리지만 파이참에서는 plt.show()를 해주셔야합니다.
어쨌든 이렇게 label = 'name'을 쓰시면 해당 그래프에 라벨지가 부여됩니다.
이때 legend를 통해서 라벨을 그래프에 붙입니다.
라벨의 위치도 설정할 수 있습니다.
plt.plot(x,y,label='무슨 데이터')
plt.legend(loc='lower right') # best : default 값(가장 적당한 곳), upper, center, lower, right, center, left
이렇게 upper, loswer, center 등등을 통해 설정할 수도 있고,
plt.plot(x,y, label='범례')
plt.legend(loc = (0.5, 0.5)) # x축, y축 기준 (0-1 사이)
좌표를 통해 설정할 수도 있습니다.
- linewidth
plt.plot(x,y, linewidth=5)
linewidth를 설정하시면 라인의 굵기를 설정할 수 있습니다.
- marker
marker는 꺾어지는 부분에 마크 표시를 해주는 속성 값입니다.
plt.plot(x,y, marker = 'o')
이렇게 꺾어지는 부분에 o라는 값을 주면 동그랗게 표시합니다.
plt.plot(x,y, marker='v')
마커의 종류는 구글에 검색하면 더 자세히 나옵니다.
이때 마커만 보이게 하고 싶다면,
plt.plot(x,y, marker='o', linestyle='None')
plt.plot(x,y, marker= 'v', linewidth = 0)
linestyle을 'None' 혹은 linewidth = 0으로 해주시면 됩니다.
마커와 관련된 속성 값은,
- markersize = N => N만큼 마크의 사이즈를 바꿉니다.
- markeredgecolor = 'color' => color로 마크의 테두리 색깔을 바꿉니다.
- markerfacecolor = 'color' => color로 마크의 색깔을 바꿉니다.
plt.plot(x,y, marker='X', markersize = 10, markeredgecolor='red', markerfacecolor = 'yellow')
- linestyle
linestyle은 말 그대로 라인의 스타일입니다.
plt.plot(x,y, linestyle = ':')
혹은 '--', '-.'등으로 설정하실 수 있습니다.
구글에 검색하면 더 자세히 나옵니다.
- color
color 속성을 쓰시면 라인의 색깔을 설정할 수 있습니다.
plt.plot(x,y, color = 'red')
이때, 축약어를 사용하여 color = 'r' 이런 식으로도 사용 가능합니다. 'b' : 'blue', 'g' : 'green' 등등
- 포맷
plt.plot(x,y,'ro--') # 첫 번째는 색깔, 마커, 라인 스타일
말 그대로 첫 번째는 색깔, 두 번째는 마커, 세 번째는 라인 스타일입니다.
안 적으면 None 처리가 됩니다.
plt.plot(x,y,'go') # 안 적으면 None임
- 축약어
linewidth, markeredgecolor 등등 너무 길다고 생각하면 축약어를 사용하시면 됩니다.
plt.plot(x,y, marker='o', mfc = 'red', ms=15, mec='blue', ls = ':')
# mfc = markerfacecolor, ms = markersize, mec = markeredgecolor, ls = linestyle
# 구글에 matplotlib markerfacecolor mfc 검색하면 나옴
mfc = markerfacecolor, ms = markersize, mec = markeredgecolor, ls = linestyle입니다.
- 투명도
투명도는 alpha를 통해 설정하실 수 있습니다. 0으로 갈수록 연해집니다.
plt.plot(x,y,marker='o', mfc = 'red', ms=10, alpha = 0.3)
- 그래프 크기
그래프가 작다고 생각하시면, plt.figure()를 사용하시면 됩니다.
plt.figure(figsize=(10,5), dpi=200) #dpi = 도트의 크기
plt.plot(x,y)
이렇게 figsize=(10,5)를 하면 가로 10, 세로 5로 맞춰지고, dpi를 설정하여 도트의 크기를 변경할 수 있습니다.
- 배경색
figure에서 facecolor를 설정하시면 됩니다.
plt.figure(facecolor = 'yellow')
plt.plot(x,y)
2. 요약
막상 외울게 많다고 생각되시겠지만, 정작 쓰다 보면 적응이 될 것이고, 생각해보면 이 모든 걸 다 쓸 거라고 생각이 들지 않습니다.
제 생각에는 이걸 다 공부하는 것보다 필요할 때, 찾아서 쓰는 게 좋을 것 같습니다.
감사합니다.
지적 환영합니다.
참고 : 나도 코딩
'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 |