PersesTitan(페르) 기술블로그

[Python] 그래프 함수 이름 넣기 본문

Language/Python

[Python] 그래프 함수 이름 넣기

PersesTitan(페르) 2023. 4. 11. 17:14

관련된 글

[Python] 원하는 함수 그래프 출력하기
그래프를 여러개 그렸을때 무슨 그래프인지 구별하기 위해서 텍스트를 넣는 방법을 구현하게 되었습니다.

 

[Python] 원하는 함수 그래프 출력하기

관련된 글 [Python] sin, cos, tan 그래프 출력하기 [Python] 시그모이드(sigmoid) 함수 그래프 구현하기 [Python] sin, cos, tan 그래프 출력하기 import matplotlib.pyplot 그래프를 출력하는 파이썬 패키지 입니다. show

persestitan.tistory.com

import

pyplot

  • text
    x, y, text를 입력받고 (x, y)위치에 text출력

해설

x, y 축은 그래프의 0번째 값을 가져오면 해당 그래프의 시작 지점을 알수 있으므로 x축은 array[0], y축은 function(array[0])를 넣어주어서 각 좌표를 구하고 해당 위치에 텍스트를 입력되게 구현하였습니다.

문제점

출력1에서 function3이랑 function4이가 텍스트가 곂쳐보이는 문제가 발생하였습니다.
이런 문제를 해결하기 위해서 저는 곂치는 텍스트는 좌표 위치를 이동 시켜 출력2와 같이 출력되도록 해결하였습니다.

코드1

import matplotlib.pyplot as plt
import numpy as np


PI = np.pi


def function1(x):
    return np.sin(2*x - PI)/2 + 1


def function2(x):
    return np.cos(2*x + PI)*2 - 1


def function3(x):
    return 1 / (1 + np.exp(-x))


def function4(x):
    return 1 / (1 + np.exp(-2*x + 1))


array = np.arange(-np.pi, np.pi, 0.1)
plt.axvline(x=0, color='r', linestyle='--', linewidth=1)
plt.axhline(y=0, color='r', linestyle='--', linewidth=1)
plt.plot(array, function1(array))
plt.text(array[0], function1(array[0]), "function1")
plt.plot(array, function2(array))
plt.text(array[0], function2(array[0]), "function2")
plt.plot(array, function3(array))
plt.text(array[0], function3(array[0]), "function3")
plt.plot(array, function4(array))
plt.text(array[0], function4(array[0]), "function4")
plt.show()

출력1

코드 2

import matplotlib.pyplot as plt
import numpy as np


PI = np.pi


def function1(x):
    return np.sin(2*x - PI)/2 + 1


def function2(x):
    return np.cos(2*x + PI)*2 - 1


def function3(x):
    return 1 / (1 + np.exp(-x))


def function4(x):
    return 1 / (1 + np.exp(-2*x + 1))


array = np.arange(-np.pi, np.pi, 0.1)
plt.axvline(x=0, color='r', linestyle='--', linewidth=1)
plt.axhline(y=0, color='r', linestyle='--', linewidth=1)
plt.plot(array, function1(array))
plt.text(array[0], function1(array[0]), "function1")
plt.plot(array, function2(array))
plt.text(array[0], function2(array[0]), "function2")
plt.plot(array, function3(array))
plt.text(array[20], function3(array[20]), "function3")
plt.plot(array, function4(array))
plt.text(array[20], function4(array[20]), "function4")
plt.show()

출력 2