Matplotlib의 매직 함수 인라인
이 데모에서는 매직 함수가 무엇인지 배우고 Matplotlib에서 사용할 수 있는 다양한 매직 함수를 볼 것입니다. 그런 다음 인라인 기능에 대해 설명합니다.
Matplotlib에서 인라인 매직 함수 사용
대화형 Python은 매직 함수라고 하는 몇 가지 미리 정의된 함수를 제공하며 이러한 매직 함수는 명령줄 및 스타일 구문에서 호출 가능하도록 사용할 수 있습니다. 매직 함수에는 라인 지향
과 셀 지향
이라는 두 가지 유형의 매직 함수가 있습니다.
라인 지향
은 라인 매직이라고도 하며, 이러한 함수는 인용문이나 괄호 없이 줄의 나머지 부분에서 인수가 뒤따르는 %
기호로 시작합니다. 대화형 Python에 있는 경우 "ipython"
세션이라고 말할 수도 있습니다. 이는 jupyter
노트북을 의미합니다.
다음은 함수를 호출하는 구문입니다.
%matplotlib [gui]
여기서 [gui]
는 함수를 호출하여 활성화할 Matplotlib 백엔드의 이름입니다. 사용 가능한 Matplotlib 패키지 목록을 보려면 다음 명령을 사용해야 합니다.
명령:
%matplotlib -l
출력:
Available matplotlib backends: ['tk', 'gtk', 'gtk3', 'gtk4', 'wx', 'qt4', 'qt5', 'qt6', 'qt', 'osx', 'nbagg', 'notebook', 'agg', 'svg', 'pdf', 'ps', 'inline', 'ipympl', 'widget']
아래 명령은 이를 확인하는 또 다른 방법이며 위와 동일한 결과가 표시됩니다.
%matplotlib --list
이제 플롯과 그래프가 셀 바로 아래에 표시되는 인라인 플로팅을 활성화하는 매직 함수 %matplotlib inline
에 대해 설명합니다. 색상 맵을 사용하여 플롯의 색상을 변경한다고 가정하면 이전 플롯에는 영향을 미치지 않습니다.
jupyter 노트북에서 이 인라인 함수를 사용하는 방법을 알아보겠습니다. 여기 예제가 있습니다. 프로그램을 실행하면 여기에서 플롯을 볼 수 있고 어떻게 보이는지 볼 수 있습니다.
암호:
from matplotlib import pyplot as plt
# %matplotlib inline
x1 = [1, 5, 8, 11, 14, 11]
y1 = [12, 11, 15, 1, 22, 15]
y2 = [10, 12, 15, 10, 20, 10]
y3 = [11, 9, 15, 10, 12, 14]
plt.figure(figsize=[9, 7])
plt.title("%matplotlib inline")
plt.plot(x1, y1, linewidth=2, label="sin()")
plt.plot(x1, y2, linewidth=2, label="cos()")
plt.plot(x1, y3, linewidth=2, label="tan()")
출력:
현재 버전의 ipython 노트북과 jupyter 노트북을 사용하는 경우 인라인 기능을 사용할 필요가 없습니다. Matplotlib show()
함수를 호출하는지 여부에 관계없이 그래프 출력은 어떤 경우에도 표시됩니다.
암호:
from matplotlib import pyplot as plt
x1 = [1, 5, 8, 11, 14, 11]
y1 = [12, 11, 15, 1, 22, 15]
y2 = [10, 12, 15, 10, 20, 10]
y3 = [11, 9, 15, 10, 12, 14]
plt.figure(figsize=[9, 7])
plt.title("%matplotlib inline")
plt.plot(x1, y1, linewidth=2, label="sin()")
plt.plot(x1, y2, linewidth=2, label="cos()")
plt.plot(x1, y3, linewidth=2, label="tan()")
pycharm에서 이 Matplotlib 인라인을 사용하려고 하면 구문 오류가 표시되지만 Visual Studio에서 사용하려면 "jupyter note"
확장을 추가해야 합니다.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn