파이썬 matplotlib 기본&사용자 지정 선 스타일
기본 설정1
- ‘-’ or ‘solid’: 실선
- ‘–’ or ‘dashed’: 파선
- ‘-.’ or ‘dashdot’: 1점쇄선
- ‘:’ or ‘dotted’: 점선
- ’none’, ‘None’, ’ ‘, or ‘’: 선 없음
linestyle
혹은 ls
로 선 스타일을 설정할 수 있다.
import numpy as np
import matplotlib.pyplot as plt
solid = np.ones(10)
dashed = 2*solid
dashdot = 3*solid
dotted = 4*solid
none = 5*solid
plt.plot(solid, ls="-", label="-")
plt.plot(dashed, ls="--", label="--")
plt.plot(dashdot, ls="-.", label="-.")
plt.plot(dotted, linestyle=":", label=":")
plt.plot(none, ls=" ", label=" ")
plt.ylim(0,6)
plt.legend(loc = "upper right")
plt.show()
사용자 지정2
점과 선의 길이와 간격을 자유롭게 커스텀할 수도 있다. ls = (a, (b, c))
라 두면 처음 a
pt만큼 공백을 두고, b
pt의 선과 c
의 공백을 번갈아 그린다. ls = (a, (b, c, d, e))
와 같이 2개 이상의 패턴을 줄 수도 있다. 이 때는 처음 a
pt의 공백 이후로 (b
pt 선, c
pt 공백, d
pt 선, e
pt 공백)이 반복되는 식이다.
line1 = np.ones(10)
line2 = 2*np.ones(10)
line3 = 2.5 + np.sin(np.linspace(0,2*np.pi,10))
line4 = 4*np.ones(10)
plt.plot(line1, ls=(0, (10, 2)), label="(0, (10, 2))")
plt.plot(line2, ls=(10, (5, 5)), label="(10, (5, 5))")
plt.plot(line3, ls=(10, (5, 2, 1, 2)), label="(10, (5, 2, 0, 2))")
plt.plot(line4, ls=(0, (1, 3, 1, 3, 5, 3)), label="(0, (0, 3, 0, 3, 5, 3))")
plt.ylim(0,6)
plt.legend(loc = "upper right")
plt.show()
환경
- OS: Windows11
- Version: Python 3.9.13, matplotlib==3.6.2