Macでgnuplotでプロットできない


47

Mac(OS X 10.8.5)でgnuplotでプロットしようとしています。X11とXQuartz 2.7.4をインストールした後、gnuplotをインストールしましたが、残念ながらgnuplotはプロットできませんでした。

次のような単純なプロットはレンダリングに失敗し、何がおかしいのかを理解するのに役立つエラーメッセージがありません。

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

2
機能していないものをより具体的に言うことができますか?おそらく、使用しているコマンド、エラーメッセージ、および結果は?
スコットランド

1
gnuplotでsin(x)をプロットしたい場合、プロットできず、エラーなしで次の行に移動します。$ gnuplot> plot sin(x)>
ソハイル

質問の本文に関連する詳細を編集してください。コメントはときどきクリアされますが、ここで問題が発生しても問題をなくすことはできません。
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 -pは10.9でサンドボックスエラーを示し、不要なテキストをSTDOUTに出力するためql() { qlmanage -p "$@"&>/dev/null; }、シェルのような関数を使用します。

3番目のオプションはset term dumb、プレーンテキスト出力に使用することです。


1
たぶん私は今日遅いんだけど、私はこのような単純な例を探しているgnuplotのドキュメントで15分を費やし良い..または多分ドキュメントが聴衆に関するいくつかの仮定をし、私はそれらの一つではないよ:)
ジャレド・ベック

5
xQuartzは重く、どういうわけかhomebrewはパッケージ化しません。代わりに--qtオプションを使用しましたがbew install gnuplot --qt、現在は正常に機能しています。
ビブスタ14年

3
オプション名はに変更されました--with-x11が、2文字しか編集できません。
mgd 14

1
XQuartzをインストールした後、ログアウトして再度ログインする必要がある場合があることに注意してください。、XQuartzをインストールすることは非常に便利である。また(なぜ知らないが、私がログアウトするまで、それは正しく$ DISPLAY変数を設定しなかった)caskroom.iobrew cask install xquartz
caesarsol

OS Xヨセミテでは機能しません
マテウスピオトロフスキ

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!
15

@vitaly興味深い。私はその警告を受け取らなかったか、無視しました。コマンドを変更しました。
レオレオポルドヘルツ

--qtは、いくつかの点で有効であったに違いないし、それが廃止されました
ヴィタリー

1
なぜ両方を選択しないように:brew install gnuplot --with-qt --with-x11
ケノーブ

YosemiteでX11を使用しているバグのため。現時点ではYosemiteを使用していないため、最新のアップデートでテストすることはできません。
レオレオポルトヘルツ준영

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ウィンドウの両方から個別に実行していますが、どちらもプロットできません。
ソハイル

次に、で再インストールしてみbrewます。インストールについて詳しく知ることなく診断することは困難です。
ベロエ

(テストに別のものを使用して更新の答え...)
beroe

より良い自分で行うよりもはるか両方-なぜ醸造メイクによって違い、彼らの仕事の両方MacPortsのを置き換えるん
user151019

私の経験では、macportsを使用するとライブラリと依存関係に問題があるため、そうするのをやめました
...-

1

ヨセミテでは、当初、クォーツとガンプロット5.0.0がインストールされていました。ただし、x11ウィンドウを読み込むことができませんでした(他のすべてはfile-X11でしたが、どういうわけか不明です)。「私のために働いた」回避策はここにあります。

ガンプロットソースフォルダーに移動します

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.