안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
<데이터 시각화 관련 글>
오늘은 지난 시간에 이어서 matplotlib.pyplot 모듈을 이용해서 그래프의 선 색상, 선 종류, 마커의 종류를 설정하는 법에 대해서 공부해 보겠습니다.
선 색상, 종류, 마커 변경하기
선 색, 종류, 마커를 변경하기 가장 쉬운 방법은 아래의 표와 코드를 참고하셔서 조금씩 바꿔서 사용하는 것입니다.
<사용 예시>
plt.plot([1, 2, 3, 4], [2, 3, 5, 10], color='r', marker='o', linestyle='--')
보통은 이것만으로 충분하니깐 더 많은 컬러와 라인 스타일, 마커가 필요하실 때, 아래의 내용을 참고하시는 걸 추천드립니다.
선 색깔
방금 전 위에서 배운 내용에서 color 파라미터를 더 다양하게 설정하는 방법은 CSS 컬러를 사용하는 방법입니다. 참고로 CSS 컬러는 Hex code를 CSS에서 별도로 정의한 색상들입니다.
<사용 예시>
plt.plot([1, 2, 3, 4], [2, 3, 5, 10], color='tomato')
추가적으로 Cycler라는 Matplotlib 별도 정의 컬러들도 있습니다. 'C0'~'C9' 까지 정의되어 있으며 사용 방법은 동일합니다.
그럴 일을 거의 없을 것이라 생각되지만 나만의 마음에 드는 컬러를 고르고 싶으시다면, 아래 사이트에 들어가서 원하는 컬러를 만들어서 Hex code로 가져 오실 수 있습니다.
https://www.w3schools.com/colors/colors_hexadecimal.asp
Colors HEX
www.w3schools.com
선 종류
아마도 선을 구분하는데에는 색상으로 충분하겠지만 비슷한 그래프끼리 조금 더 세분화 해서 보여주어야 할 때에는 선 종류까지 설정해주는 것이 좋겠죠?
선 종류를 변경하는 방식은 위에서 배웠던 것을 포함하여 3가지입니다. 1, 2번 방법은 표현 방식만 다를뿐 선의 종류가 4가지로 제한되지만 심플하게 사용할 수 있으며, 3번 tuple 방식은 조금 복잡하지만 커스터마이징이 가능합니다.
1번 방법 | 2번 방법 | 3번 방법 (tuple) |
‘ - ‘ | 'Solid' | '(0, (1, 1))' |
‘ - - ‘ | 'Dashed' | '(0, (1, 5))' |
‘ : ‘ | 'Dotted' | '(0, (5, 1))' |
‘ -. ‘ | 'Dash-dot' | '(0, (3, 5, 1, 5))' |
주석을 달아두었으니 잘 보시고 원하는 옵션을 선택해서 사용하시면 되겠습니다.
<사용 예시>
# 포맷 문자열 방식 (‘ - ‘ (Solid), ‘ - - ‘ (Dashed), ‘ : ‘ (Dotted), ‘ -. ‘ (Dash-dot))
plt.plot([3, 3, 3], '-', color='C0', label='Solid')
# linestyle 지정 방식
plt.plot([2, 2, 2], linestyle='dashed', color='C0', label="'dashed'")
# linestyle에 튜플 방식 (커스터마이즈 가능) --> 4개 이상의 선이 동시에 필요할 때 사용
plt.plot([1, 1, 1], linestyle=(0, (3, 5, 1, 5)), color='C0', label='(0, (3, 5, 1, 5))')
plt.legend(loc=(0.6,0.7), ncol=1, fontsize=7)
<linestyle 옵션 종류>
마커 종류
마커는 값을 표시하는 점의 모양을 의미합니다. 특색 있는 마커를 사용하면 가시성이 좋아지는 장점이 있습니다.
<사용 예시>
plt.plot([4, 5, 6], marker="H")
plt.plot([3, 4, 5], marker="d")
plt.plot([2, 3, 4], marker="x")
plt.plot([1, 2, 3], marker=11)
plt.plot([0, 1, 2], marker='$Z$')
<마커 종류>
오늘 준비한 내용은 여기까지 입니다.
다음 시간에는 그래프 배경에 눈금과 그리드를 표시하는 법, 축 스케일 및 2차 3차 곡선을 그리는 법에 대해서 공부해보겠습니다.
<참고 자료>
https://codetorial.net/matplotlib/set_linestyle.html
Matplotlib 선 종류 지정하기 - Codetorial
예제 import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 4, 4], '-', color='C0', label='Solid') plt.plot([1, 2, 3], [3, 3, 3], '--', color='C0', label='Dashed') plt.plot([1, 2, 3], [2, 2, 2], ':', color='C0', label='Dotted') plt.plot([1, 2, 3], [1, 1
codetorial.net