Programing

플롯하는 데 권장되는 방법은 matplotlib 또는 pylab입니까?

lottogame 2020. 9. 25. 08:11
반응형

플롯하는 데 권장되는 방법은 matplotlib 또는 pylab입니까? [닫은]


다음 중 하나를 사용하여 Python 에서 플롯 할 수 있습니다.

import matplotlib
matplotlib.pyplot.plot(...)

또는:

import pylab
pylab.plot(...)

둘 다 동일한 matplotlib 플로팅 코드를 사용합니다 .

그렇다면 현재 Matplotlib 개발자 / 문서가 더 나은 플롯 방법으로 권장하는 것은 무엇입니까? 왜?


공식 문서 : Matplotlib, pyplot 및 pylab : 어떻게 관련되어 있습니까?

이 두 임포트는 모두 똑같은 일을하고 똑같은 코드를 실행합니다. 모듈을 임포트하는 다른 방법 일뿐입니다.

또한 matplotlib두 개의 인터페이스 계층,에 의해 관리되는 상태 머신 계층 pyplot과 그 위에 OO 인터페이스 pyplot가 구축되어 있습니다. Figure 인스턴스에 pyplot 함수를 연결 하려면 어떻게해야합니까?를 참조하십시오 .

pylab유용한 함수 ( pyplot대부분의 상태 머신 함수 numpy)를 단일 네임 스페이스 로 대량으로 가져 오는 깔끔한 방법 입니다 . 이것이 존재하는 주된 이유는 (내 이해에 따라) ipythonMATLAB을 다소 복제하는 매우 멋진 대화 형 셸을 만들기 위해 함께 작업하는 것입니다 (전환을 더 쉽게 만들고 놀기에 좋기 때문에). 참조 pylab.pymatplotlib/pylab.py

어떤 수준에서 이것은 순전히 취향의 문제이며 당신이하는 일에 따라 조금씩 다릅니다.

GUI에 포함 하지 않는 경우 (대량 스크립트에 비대화 형 백엔드를 사용하거나 제공된 대화 형 백엔드 중 하나를 사용) 일반적으로 수행 할 작업은 다음과 같습니다.

import matplotlib.pyplot as plt
import numpy as np

plt.plot(....)

이름 공간을 오염시키지 않습니다. 나는 물건의 출처를 추적 할 수 있도록 이것을 선호합니다.

사용하는 경우

ipython --pylab

이것은 달리는 것과 같습니다

from pylab import * 

이제 새 버전의 경우 ipython다음을 사용 하는 것이 좋습니다.

ipython --matplotlib

대화 형 백엔드가 잘 작동하도록 모든 적절한 배경 세부 정보를 설정하지만 대량으로 가져 오지는 않습니다. 원하는 모듈을 명시 적으로 가져와야합니다.

import numpy as np
import matplotlib.pyplot as plt

좋은 출발입니다.

matplotlibGUI에 임베딩 하는 경우 추가 GUI 메인 루프를 시작하므로 pyplot을 가져오고 싶지 않으며 정확히 가져와야하는 것은 수행중인 작업에 따라 다릅니다.


pyglot과 pylab의 차이점도 설명하는 https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related 문서 에서는 다음과 같이 설명합니다. "많은 예제에서 pylab, 더 이상 권장되지 않습니다. " . 그래서 pylab 을 사용 하거나 걱정할 이유가 없습니다 .

참고 URL : https://stackoverflow.com/questions/16849483/which-is-the-recommended-way-to-plot-matplotlib-or-pylab

반응형