Mac에서 gnuplot으로 플롯 할 수 없습니다


47

Mac에서 gnuplot으로 플롯하려고합니다 (OS X 10.8.5). X11과 XQuartz 2.7.4를 설치 한 후 gnuplot을 설치했지만 불행히도 gnuplot을 플롯 할 수 없습니다.

다음과 같은 간단한 플롯은 렌더링에 실패하고 오류가 무엇인지 이해하는 데 도움이되는 오류 메시지가 없습니다.

 [1/10/13 $gnuplot >plot sin(x)

2
작동하지 않는 것을 더 구체적으로 말할 수 있습니까? 아마도 사용중인 명령, 오류 메시지 및 결과일까요?
Scot

1
gnuplot에서 sin (x)를 플로팅하려고하면 플롯 할 수 없으며 오류없이 다음 줄로 이동합니다. $ gnuplot> sin (x) 플롯>
Soheil

질문 본문에 관련 세부 정보를 수정하십시오. 의견은 때때로 지워지며 여기에서 발생하면 문제를 잃고 싶지 않습니다.
bmike

1
정확히 어떻게 설치 했습니까?
user151019

xterm은 xterminal을 제공합니까?
user151019

답변:


49

나에게도 같은 일이 있었지만

brew uninstall gnuplot; brew install gnuplot --with-x11

XQuartz를 설치했습니다 . 이제 터미널을 gnuplot지원합니다 x11:

출력을 파일로 저장하고 다음을 사용할 수도 있습니다 qlmanage -p.

gnuplot -e 'set term png; set output "/tmp/plot.png"; plot sin(x)'; qlmanage -p /tmp/plot.png

qlmanage -p10.9에서 샌드 박스 오류를 표시하고 불필요한 텍스트를 STDOUT에 인쇄하므로 ql() { qlmanage -p "$@"&>/dev/null; }쉘 과 같은 기능을 사용합니다 .

세 번째 옵션은 set term dumb일반 텍스트 출력 에 사용하는 것 입니다.


1
어쩌면 오늘은 천천히 해요,하지만 난 .. 이런 간단한 예제를 찾고 15분의 gnuplot의 문서에서 좋은을 보냈다 아니면 워드 프로세서는 관객에 대한 몇 가지 가정을 내가 : 그들 중 하나가 아니에요
자레드 벡

5
xQuartz는 무겁고 홈브류는 그것을 포장하지 않습니다. 대신 --qt 옵션을 사용하여 정상적으로 bew install gnuplot --qt작동합니다.
bibstha

3
옵션 이름이로 변경 --with-x11되었지만 두 문자 만 편집 할 수 없습니다.
mgd December

1
때때로 XQuartz를 설치 한 후 로그 아웃했다가 다시 로그인 해야합니다 . (이유를 모르지만 로그 아웃 할 때까지 $ DISPLAY 변수를 올바르게 설정하지 않았습니다.) 또한 XQuartz를 설치하는 데 매우 유용한 것은 caskroom.io입니다 . brew cask install xquartz
caesarsol

OS X 요세미티 작동하지 않습니다
마테우스 Piotrowski에게

24

OS X Yosemite 10.10.2 및 El Capitan 10.11.2에서 Gnuplot은 XQuartz와 함께 패키지되지 않습니다. 답변 bibstha 의 코멘트. 훨씬 더 강력한 창 관리자가 qt에 있으며 작동합니다.

 brew uninstall gnuplot
 brew install gnuplot --with-qt

사용 --qt은 더 이상 사용되지 않습니다.


Warning: gnuplot: --qt was deprecated; using --with-qt instead!
부수적으로

@vitaly 재미있는. 나는 그 경고를 얻지 못했거나 무시했다. 명령을 변경했습니다.
Léo Léopold Hertz 준영

--qt는 어느 시점에 유효해야했고 더 이상 사용되지 않습니다
vitaly

1
둘 다 선택하지 않는 이유 : brew install gnuplot --with-qt --with-x11.
kenorb

요세미티에 X11이있는 버그 때문입니다. 현재 요세미티를 사용하지 않으므로 최신 업데이트로 테스트 할 수 없습니다.
Léo Léopold Hertz 준영

4

이것을 터미널 창 또는 X11 창에서 실행하고 있습니까? 터미널은 X11을 개별적으로 시작하여 플롯을 표시하므로 즉각적이거나 보이지 않을 수 있습니다. plot명령 을 입력 할 때 X11이 전혀 시작됩니까 ?

X11 창에서 시도하면 결과가 더 즉시 나타납니다.

또한 macports를 사용하여 원래 설치 한 경우 homebrew대신 다음을 사용 하는 것이 좋습니다 .

brew install gnuplot

편집 : 출력이 어디로 가고 있는지 확인하려면 결과를 파일로 보낼 수 있습니다.

set terminal png
set output 'testimage.png'
plot sin(x)
exit

그런 다음 파일에 testimage.png플롯이 포함되어 있는지 확인하십시오 . 다음을 사용하여 터미널을 지정할 수도 있습니다.

set terminal x11

예, 당신은 옳고 마지막은 내 명령의 일부가 아닙니다. 또한 터미널 창과 X11 창에서 별도로 실행 중이지만 그중 어느 것도 그릴 수 없습니다.
Soheil

그런 다음로 다시 설치하려고 brew합니다. 설치에 대해 더 많이 알지 못하면 진단하기가 어렵습니다.
beroe

(시험에 다른 일에 업데이트 답 ...)
beroe

왜 양조 메이크업에 의해 차이 그들은 둘 다 일을 대체 MacPorts를 않습니다 - 모두 훨씬 더 직접하는 것보다
user151019

내 경험에
따르면 macports를

1

요세미티에서는 처음에 쿼츠와 건 플롯 5.0.0이 설치되었습니다. 그러나 x11 창을로드 할 수 없었습니다 (다른 모든 파일은 X11 파일이었습니다). 다음은 '나를 위해 일한'해결 방법입니다.

gunplot 소스 폴더로 이동

make clean; 
make uninstall

다음 줄 아래의 "configure"파일에서

# Standard set of common directories for X headers.

# Check X11 before X11Rn because it is often a symlink to the current release.

---added the location of my X11 files also  
/opt/X11/include

이제 달려

./configure
make
sudo make install

아래에서 볼 수 있듯이 완벽하게 작동했습니다.

G N U P L O T
Version 5.0 patchlevel 0    last modified 2015-01-01 

Copyright (C) 1986-1993, 1998, 2004, 2007-2015
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help FAQ"
immediate help:   type "help"  (plot window: hit 'h')

터미널 유형 set to 'x11'.


X11 / opt를 어떻게 설치 했습니까? 저는 생각하지 않습니다.
user151019

0

감사. gunplot 5.0을 다운로드하고 Yosemite 10.10.2에서 설치 한 후 gnuplot이 x11 터미널을 "로드"할 수 없습니다. 구성 파일을 / opt / X11 / include (재구성, 재 작성 및 재설치)로 지정한 후에는 정상적으로 작동했습니다. (X11이 / opt / X11에 있다는 것도 놀랐습니다.)


왜 오히려 X11보다 석영 백엔드를 사용하지
user151019

0

여기에서 대부분의 조언은을 통해 GNUPlot을 설치 / 재설치하는 방법을 보여줍니다 brew. GNUPlot이 설치되어 있고 어떤 터미널을 사용하는지 확실하지 않은 경우 다음과 같이 결정할 수 있습니다.

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

이제 qt터미널 유형을 사용하고 있음을 알 수 있습니다. 정보가 얇 으면 다른 답변 중 하나를 따라 GNUPlot을 다시 설치 brew하거나 기존 터미널을 원하는 방식으로 구성하여 원하는 조치를 결정할 수 있습니다 set terminal ..... 명령.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.