1 minute read

개요

Linear Algebra를 공부하면서 , 벡터랑 그래프를 그려서 첨부해야할 상황이 많이 생겼습니다. latex 문법에 tikz 를 이용해서 삽입을 할 수 있다고는 하는데, 적기가 좀 불편해서 , matplotlib의 quiver를 이용해서 벡터를 그리기로 하였습니다.

matplotlib.pyplot.quiver — Matplotlib 3.5.0 documentation

Quiver

quiver([X, Y], U, V, [C], **kw)

제가 벡터를

Parameters

  • X , Y : 1D or 2D array-like .optional
    • arrow의 시작점 좌표 (x,y) 를 정해주는 argument 입니다.
    • list 타입으로 여러개의 시작점을 넘겨줄 수 있습니다.
  • U , V : 1D or 2D array-like
    • arrow direction
    • X,Y 의 수와 같은 수 가 있어야 합니다.
  • C : 1D or 2D array-like, optional
    • color를 지정 해줍니다. ex, [0,0,1,1]
  • units : {‘width’, ‘height’, ‘dots’, ‘inches’, ‘x’, ‘y’, ‘xy’}, default: ‘width’
    • arrow 의 치수가 위 단위의 배수로 설정됩니다.
    • ‘width’ , ‘hegiht’ : The width or height of axis
    • ‘dots’ ,’inches’ : Pixels or inches based on the figure dpi
    • ‘x’ , ‘y’ , ‘xy’ : X , Y or \(\sqrt{X^2 + Y^2}\) in data units
  • scale : float, optional
    • arrow의 단위길이 설정 e. g : m/s -> s가 scale인거 같습니다.
    • s가 작으면 작을 수록 arrow의 길이가 길어집니다.

Example

import numpy as np
import matplotlib.pyplot as plt

x_pos=[0.1]*4
y_pos=[0.1]*4
x_dir=[1,0,3,2]
y_dir=[0,1,1,10]

fix,ax = plt.subplots(figsize=(10,10) )

ax.quiver(x_pos,y_pos,x_dir,y_dir, [0,0,1,1],units='xy',headwidth=2,scale=12,width = 0.005)

ax.axis([0,1,0,1])

plt.axis('off')
plt.show()

img

※ 추가적으로 사용하게 되는 기능이 생기면 더 업로드하도록 하겠습니다.

Leave a comment