[Python] 원하는 함수 그래프 출력하기
그래프를 여러개 그렸을때 무슨 그래프인지 구별하기 위해서 텍스트를 넣는 방법을 구현하게 되었습니다.
x
, y
, text
를 입력받고 (x, y)
위치에 text
출력x, y 축은 그래프의 0번째 값을 가져오면 해당 그래프의 시작 지점을 알수 있으므로 x축은 array[0]
, y축은 function(array[0])
를 넣어주어서 각 좌표를 구하고 해당 위치에 텍스트를 입력되게 구현하였습니다.
출력1에서 function3
이랑 function4
이가 텍스트가 곂쳐보이는 문제가 발생하였습니다.
이런 문제를 해결하기 위해서 저는 곂치는 텍스트는 좌표 위치를 이동 시켜 출력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[0], function3(array[0]), "function3")
plt.plot(array, function4(array))
plt.text(array[0], function4(array[0]), "function4")
plt.show()
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()