-
파이썬을 이용한 사인 그래프 그리기 - Generating a Synthetic Sine Wave with PythonPROGRAMMING/Python 2017. 3. 21. 08:44반응형
import numpy as np import matplotlib.pyplot as plt import matplotlib # properties SIG_AMPLITUDE = 10 SIG_OFFSET = 2 SIG_PERIOD = 100 NOISE_AMPLITUDE = 3 N_SAMPLES = 5 * SIG_PERIOD INSTRUMENT_RANGE = 9 # construct a sine wave times = np.arange(N_SAMPLES).astype(float) signal = SIG_AMPLITUDE * np.sin(2 * np.pi * times / SIG_PERIOD) + SIG_OFFSET # and mix it with some random noise noise = NOISE_AMPLITUDE * np.random.normal(size=N_SAMPLES) signal += noise # trucate spikes that are outside of the instrument range # (cut the noise) signal[signal > INSTRUMENT_RANGE] = INSTRUMENT_RANGE signal[signal < -INSTRUMENT_RANGE] = -INSTRUMENT_RANGE matplotlib.style.use("ggplot") # plot(x,y) plt.plot(times, signal) plt.title("Synthetic sine wave signal") plt.xlabel("Time") plt.ylabel("Signal + noise") plt.ylim(ymin = -SIG_AMPLITUDE, ymax = SIG_AMPLITUDE) # Save the plot plt.savefig("signal.pdf")
numpy와 matplotlib 라이브러리를 이용한 (별도 라이브러리 설치 필요) 노이즈가 있는 synthetic sine wave.
간단하게 설명하자면 numpy는 수를 다를 수 있는 유용한 함수들을 가지고 있는 library이고,
matplotlib은 그래프를 파일로 저장할 수 있는 library이다.
위의 함수를 실행하면 다음과 같은 사인 그래프를 얻을 수 있다.
노이즈를 없앤 예쁜 사인 그래프.
참고 서적:
Data Science Essentials in Python, Dmitry Zinoviev, The Progmatic Programmers, 2016
반응형'PROGRAMMING > Python' 카테고리의 다른 글
Selenium으로 크롤링하기 (0) 2021.05.11 Python Programming : datetime ⇿ string 변환 (0) 2021.04.28 Algorithm 문제 해결에 Python을 사용해야 하는 이유 10가지 (0) 2021.03.14