Quiver:Plot vector
개요
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()
※ 추가적으로 사용하게 되는 기능이 생기면 더 업로드하도록 하겠습니다.
Leave a comment