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

PersesTitan·2023년 4월 11일
0

Python

목록 보기
7/9

관련된 글

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

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

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글