logo

파이썬 matplotlib 기본&사용자 지정 선 스타일 📂프로그래밍

파이썬 matplotlib 기본&사용자 지정 선 스타일

기본 설정1

  • ‘-’ or ‘solid’: 실선
  • ‘–’ or ‘dashed’: 파선
  • ‘-.’ or ‘dashdot’: 1점쇄선
  • ‘:’ or ‘dotted’: 점선
  • ’none’, ‘None’, ’ ‘, or ‘’: 선 없음

linestyle 혹은 ls로 선 스타일을 설정할 수 있다.

Figure_1.png

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))라 두면 처음 apt만큼 공백을 두고, bpt의 선과 c의 공백을 번갈아 그린다. ls = (a, (b, c, d, e))와 같이 2개 이상의 패턴을 줄 수도 있다. 이 때는 처음 apt의 공백 이후로 (bpt 선, cpt 공백, dpt 선, ept 공백)이 반복되는 식이다.

Figure_2.png

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