Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 화살표 모양의 선 스타일을 지정하는 방법

Matplotlib에서 일반적인 직선 대신 화살표(arrow) 형태의 선을 그리고 싶다면 quiver() 메서드를 활용하면 됩니다. quiver()는 원래 벡터장을 시각화하기 위한 함수지만, 각 구간의 시작점과 변화량(방향 벡터)을 전달하면 연속된 화살표가 이어진 것처럼 표현할 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 조절합니다.

  • numpy를 사용하여 x, y 데이터 포인트를 생성합니다.

  • quiver() 메서드를 사용하여 화살표 스타일의 선을 그립니다.

  • show() 메서드를 호출하여 결과 그림을 화면에 출력합니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-5, 5, 100)
y = np.sin(x)

plt.quiver(x[:-1], y[:-1], x[1:]-x[:-1], y[1:]-y[:-1], scale_units='xy', angles='xy', scale=1, color='red')

plt.show()

코드 설명

위 코드에서 핵심은 quiver()에 전달되는 네 가지 인자입니다. x[:-1]y[:-1]은 각 화살표의 시작 좌표를 나타내고, x[1:]-x[:-1]y[1:]-y[:-1]은 다음 점까지의 변위(방향과 크기)를 나타냅니다. 또한 scale_units='xy', angles='xy', scale=1 옵션을 함께 사용하면 데이터 좌표계 기준으로 화살표 길이가 실제 값과 일치하게 되어, 마치 하나의 연결된 곡선처럼 자연스럽게 그려집니다. 색상은 color='red'로 지정했습니다.

출력 결과

Matplotlib에서 화살표 모양의 선 스타일을 지정하는 방법