python - 함수로 선형 스케일 만들기 (np linspace)

선형 데이터로 주어지고 배열로 미리 할당하는 코드가 있다.

이 코드는 x, y 각각 1차원 배열로 만들어준다. 그래피의 수평축과 수직축 간격을 만들때 용이하게 사용된다. numpy 모듈의 linspace 함수로 Linearly Spaced 기능이다.

import numpy as np
w, h = 20
x = np.linspace(0, 1, w, dtype=np.float32)
y = np.linspace(0, 1, h, dtype=np.float32)
print(x)

출력한 값

[0. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20]

매개변수 앞의 (0, 1, w,...) 구성한 것을 볼 수 있는데 순차적으로 start, stop, number 숫자를 입력할 수 있다.


값 생성 원리

그리고 입력범위를 출력범위 비율로 맞추는 데이터가 있어서, 0 ~ 1이 아닌 0.2 ~ 1 스케일해서 표현이 필요했었는데. 이 함수로 오프셋을 맞춰줄 수 있다.

w = 20
x = np.linspace(0.2, 1, w, dtype=np.float32)

배열 중간에 들어가는 선형 변환 공식은 다음과 같이 사용하는 것 같다.

Y = (Ymax - Ymin) * X + Ymin