Matplotlib 에서 점선 스타일 사용자 정의하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 Matplotlib 에서 점선 스타일을 사용자 정의하는 방법을 배웁니다. .Line2D.set_dashes()를 사용하여 대시 시퀀스를 수정하고, property_cycle을 사용하여 대시 스타일을 구성하며, ~.Line2D.set_dash_capstyle(), ~.Line2D.set_dash_joinstyle(), 그리고 ~.Line2D.set_gapcolor()와 같은 관련 메서드를 사용하여 대시의 다른 속성을 설정하는 방법을 다룹니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 Labby 에게 자유롭게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 가져오기

먼저, 필요한 라이브러리를 가져와야 합니다. 이 랩에서는 Matplotlib 와 NumPy 를 사용합니다.

import matplotlib.pyplot as plt
import numpy as np

플로팅을 위한 데이터 생성

다음으로, 플로팅할 데이터를 생성해야 합니다. 이 랩에서는 사인 함수를 사용하여 데이터를 생성합니다. 0 과 10 사이의 500 개의 균등하게 간격을 둔 점을 생성하고 np.sin() 함수를 사용하여 각 점의 사인을 계산합니다.

x = np.linspace(0, 10, 500)
y = np.sin(x)

선 너비 설정

plt.rc() 함수를 사용하여 플롯의 모든 선에 대한 선 너비를 설정할 수 있습니다. 이 랩에서는 선 너비를 2.5 로 설정합니다.

plt.rc('lines', linewidth=2.5)

플롯 생성

이제 plt.subplots() 함수를 사용하여 플롯을 생성할 수 있습니다. 또한 ax.plot() 함수를 사용하여 세 개의 선을 생성합니다.

fig, ax = plt.subplots()

## Using set_dashes() and set_capstyle() to modify dashing of an existing line.
line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2])  ## 2pt line, 2pt break, 10pt line, 2pt break.
line1.set_dash_capstyle('round')

## Using plot(..., dashes=...) to set the dashing when creating a line.
line2, = ax.plot(x, y - 0.2, dashes=[6, 2], label='Using the dashes parameter')

## Using plot(..., dashes=..., gapcolor=...) to set the dashing and
## alternating color when creating a line.
line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
                 label='Using the dashes and gapcolor parameters')

ax.legend(handlelength=4)
plt.show()

.Line2D.set_dashes()를 사용하여 대시 시퀀스 수정

.Line2D.set_dashes()를 사용하여 대시 시퀀스를 수정할 수 있습니다. 이 예제에서는 line1의 대시 시퀀스를 수정하여 2pt 선, 2pt 간격, 10pt 선 및 2pt 간격의 대시 패턴을 만듭니다. 또한 line1.set_dash_capstyle()을 사용하여 캡 스타일을 'round'로 설정합니다.

line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2])  ## 2pt line, 2pt break, 10pt line, 2pt break.
line1.set_dash_capstyle('round')

property_cycle을 사용하여 대시 스타일 설정

property_cycle을 사용하여 대시 스타일을 구성할 수 있습니다. 이는 cycler 에 dashes 키워드를 사용하여 대시 시퀀스 목록을 전달하여 수행할 수 있습니다. 이 예제에서는 이 방법을 사용하지 않습니다.

관련 메서드를 사용하여 대시의 다른 속성 설정

~.Line2D.set_dash_joinstyle(), ~.Line2D.set_dash_joinstyle(), 및 ~.Line2D.set_gapcolor()와 같은 관련 메서드를 사용하여 대시의 다른 속성도 설정할 수 있습니다. 이 예제에서는 dashesgapcolor 매개변수를 사용하여 line3의 대시 시퀀스와 교대 색상을 설정합니다.

line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
                 label='Using the dashes and gapcolor parameters')

요약

이 랩에서는 Matplotlib 에서 점선 스타일을 사용자 정의하는 방법을 배웠습니다. .Line2D.set_dashes()를 사용하여 대시 시퀀스를 수정하고, property_cycle을 사용하여 대시 스타일을 구성하고, ~.Line2D.set_dash_capstyle(), ~.Line2D.set_dash_joinstyle(), 및 ~.Line2D.set_gapcolor()와 같은 관련 메서드를 사용하여 대시의 다른 속성을 설정하는 방법을 다루었습니다. 이러한 단계를 따르면 Matplotlib 에서 플롯에 대한 사용자 정의 점선 스타일을 만들 수 있습니다.