[PYTHON] matplotlib 플롯에서 저장 버튼이 작동하지 않는 이유는 무엇입니까?
PYTHONmatplotlib 플롯에서 저장 버튼이 작동하지 않는 이유는 무엇입니까?
matplotlib 1.0.0을 Mac OS X 10.6의 Python 2.7 virtualenv에 설치했습니다. 나는 플롯을 잘 만들 수있다. 그러나 저장 단추를 누를 때마다 저장 대화 상자 창에 텍스트를 입력하거나 플롯을 저장할 수 없습니다. 내가 할 수있는 유일한 방법은 치기 취소 다. 이 문제의 원인과 해결 방법에 대한 의견이 있으십니까?
astro의 matplotlib github 저장소를 복제 한 다음 numpy / scipy / matplotlib에 대한 HyperJeff의 설치 지침을 느슨하게 따라 작성하여 matplotlib를 설치했습니다. 아래는 setup.cfg 및 make.osx의 잠재적으로 관련성이있는 섹션입니다. 여기에는 컴파일 및 설치 전에 수정 한 섹션이 포함됩니다.
[egg_info]
tag_svn_revision = 1
[directories]
basedirlist = /Users/matthew/.virtualenvs/matplotlib-test
[status]
#suppress = True
#verbose = True
[provide_packages]
[gui_support]
#gtk = False
#gtkagg = False
#tkagg = False
wxagg = False
#macosx = False
[rc_options]
backend = MacOSX
#numerix = numpy
# build mpl into a local install dir with
PREFIX=/Users/matthew/.virtualenvs/matplotlib-test
MPLVERSION=1.0rc1
PYVERSION=2.7
PYTHON=python${PYVERSION}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.39
FREETYPEVERSION=2.3.11
MACOSX_DEPLOYMENT_TARGET=10.6
OSX_SDK_VER=10.6
ARCH_FLAGS="-arch i386-arch x86_64"
## You shouldn't need to configure past this point (but I did...)
PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
CFLAGS="${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
LDFLAGS="${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
CFLAGS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
LDFLAGS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
FFLAGS="-arch i386 -arch x86_64"
setup.cfg 및 make.osx를 수정 한 후 다음 명령을 실행하여 matplotlib를 설치했습니다.
make -f make.osx fetch deps mpl_build mpl_install
python setup.py install
주의 : sudo는 HyperJeff가하는 것처럼 사이트 패키지 대신 virtualenv에 설치하기 때문에 필요하지 않습니다.
Mac OS X 10.5 용 python.org의 Python 2.7 PPC / i386 / x86-64 Mac OS X 설치 프로그램 디스크 이미지를 사용하여 Python 2.7을 설치했습니다. 이 질문에 대한 네드 딜리 (Ned Deily)의 답변 덕분에이 버전의 Python 2.7은 Mac OS X 10.6에서 IDLE 또는 Tkinter를 실행할 수 없습니다.
다른 Mac OS X 및 matplotlib 사용자도 동일한 문제를 겪고있는 것으로 보입니다. matplotlib-users 메일 링리스트에서 두 명의 사용자가 Mac OS X 10.5에서 같은 문제가 있다고보고했습니다. 비록 그들이 설치 한 matplotlib 0.99.1.1과 0.99.1.2 대 matplotlib 1.0.0을 사용하고있었습니다.
matplotlib 버그 2973874는 203-3 월 10 일에 같은 문제로 열렸습니다. 그러나 우선 순위 5이며 버그가 원래 열렸으므로 수정되지 않았습니다. 다음은 버그에 대한 설명입니다.
해결법
-
==============================
1.virtualenv가 실제로 Application Bundle에서 실행 중임을 OSX에 확신시켜야합니다. 수정 내용은 여기에서 설명합니다.
virtualenv가 실제로 Application Bundle에서 실행 중임을 OSX에 확신시켜야합니다. 수정 내용은 여기에서 설명합니다.
http://groups.google.com/group/python-virtualenv/browse_thread/thread/83fa4a12d22a30c8/744e19c194f1618a
여기에 구현되었습니다.
https://github.com/gldnspud/virtualenv-pythonw-osx
-
==============================
2.내 대답은 문제를 해결하지 못하지만 쉽게 해결할 수 있습니다! 터미널에서 올바른 파일 확장명을 가진 새 파일을 터치 할 수 있습니다. matplotlib 창에서 마우스로이 파일을 선택하고 덮어 쓸 수 있습니다.
내 대답은 문제를 해결하지 못하지만 쉽게 해결할 수 있습니다! 터미널에서 올바른 파일 확장명을 가진 새 파일을 터치 할 수 있습니다. matplotlib 창에서 마우스로이 파일을 선택하고 덮어 쓸 수 있습니다.
-
==============================
3.이것을 해결하려면 :
이것을 해결하려면 :
pythonw를 설치하려면 conda install python.app를 사용하십시오.
그런 다음 터미널에서 python 대신 pythonw를 사용하십시오.
식
pythonw my_plot.py
희망이 도움이
-
==============================
4.Thouis 방법이 효과가없는 사람들을 위해 :
Thouis 방법이 효과가없는 사람들을 위해 :
간단한 해결 방법은 matplotlib 백엔드를 변경하는 것입니다. 다음은 사용 가능한 백엔드 목록입니다.
http://matplotlib.org/faq/usage_faq.html#what-is-a-backend
렌더러 중 하나 (즉, show () 명령을 지원하는 렌더러) 중 하나를 선택해야합니다. 백엔드를 설치해야하지만, 여러 대의 백엔드가 설치되어있을 수 있습니다.
그렇게하려면 :
import matplotlib matplotlib.use('Qt4Agg') #replace 'Qt4Agg' with desired backend
경고 : 이것은 필라브 등을 가져 오기 전에 수행되어야합니다.
from https://stackoverflow.com/questions/3692928/why-doesnt-the-save-button-work-on-a-matplotlib-plot by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python line_profiler 코드 예제 (0) | 2018.11.17 |
---|---|
[PYTHON] IndirectObject 추출을위한 pyPdf (0) | 2018.11.17 |
[PYTHON] is_authenticated ()가 TypeError를 발생시킵니다. TypeError : 'bool'객체를 호출 할 수 없습니다. [duplicate] (0) | 2018.11.17 |
[PYTHON] Python pandas, 여러 행의 플로팅 옵션 (0) | 2018.11.17 |
[PYTHON] Python으로 MySQL 형식으로 결과 인쇄 (0) | 2018.11.17 |