본문 바로가기

matplotlib

(5)
파이썬 베쎌함수 그래프 그리기 from scipy.special import jv import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 30, 0.02) # https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.jv.html#scipy.special.jv ys = [ jv(i, x) for i in range(3) ] for y in ys: plt.plot(x, y) plt.grid() plt.show() 베셀함수 (Bessel Function) 은 파이썬의 scipy.special 모듈의 여러 특수함수들 중에 하나인 jv 함수로 제공된다. 위 코드를 실행하여 만들어진 그래프는 다음과 같다.
[Python] Matplotlib 그래프에 한글 표시하기 import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'D2Coding' # D2 Coding 폰트가 깔려 있어야 한다. matplotlib 임포트 하는 구문 아래에, 'font.family' 패러미터를 'D2Coding'과 같이 폰트명으로 세팅해 준다. 'Malgun Gothic', 'NanumGothicCoding' 등으로 세팅해 줘도 된다. 본인의 취향에 맞는 폰트를 찾아서 세팅하자. "matplotlib 한글폰트" 로 검색해 보면, 글들이 검색되는데, 복잡하게 생각할 것 없이, 위와 같이 import 구문 아래에 한줄만 기억해 두고 매번 세팅해 주면 별 문제 없이 한글 표시 잘 된다. 주의할 점 몇가지 matplotlib 버전도 최신버전인지..
Prophet plot 그래프 설명 prophet plot 그래프 설명 https://mikulskibartosz.name/prophet-plot-explained-31df79087e24 Bartosz Mikulski 2018-11-14 Prophet 이 만들어낸 플롯을 보고 당황했다. 문서에서 설명을 찾아봤지만 없었다. 구글링을 해도, 스택오버플로우에서조차 설명을 찾을 수 없었다. 이해하기를 포기하거나, 아니면, 소스코드를 파보는 두가지 방법 밖에 없었다. 다행히도 prophet 의 plot 함수 소스코드를 보니, 모든 것이 명확해졌다. 예제 문서를 보면, 위키백과의 Peyton Manninng 페이지의 일간 페이지뷰 로그를 입력데이터로 사용한다. 첫번째 단계로, 데이터셋을 다운로드하고, 라인플롯으로 플로팅해 보았다. import fbp..
[Python|Numpy|Matplotlib] 푸리에 시리즈 사각파 10년전 포스팅에 C로 사각파 푸리에 시리즈를 구현한 것이 있었다. 이걸 파이썬, numpy, matplotlib 를 이용해 다시 구현해 본다. import numpy as np import matplotlib.pyplot as plt def F(n, X): """ 1 F (t) = ------- sin ( (2n+1) t ) n 2n + 1 """ return np.sin((2*n+1)*X)/(2*n+1) def RectWave(n, X): """ n Sigma F (t) k=1 """ y = np.zeros(X.shape) for k in range(n+1): y = F(k, X) + y return y X = np.linspace(-5, 5, 1000) for i in (1, 5, 50, 100):..
[Python] 이항분포 그래프 그리기 import sys from functools import lru_cache import math import numpy as np import matplotlib.pyplot as plt @lru_cache(None) def ncr(n, r): """조합. 재귀식을 이용함. n이 커지면 스택오버플로우 발생. """ if r in (0, n): return 1 return ncr(n - 1, r) + ncr(n - 1, r - 1) def bidist(n, p): """이항분포""" q = 1 - p dist = np.array([ncr(n, k) * (p ** k) * (q ** (n - k)) for k in range(n + 1)]) return dist def bicoeff(n): """이항계수...