トップページunix
982コメント298KB

gnuplot を使おう。 その2

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。2006/11/28(火) 22:10:25
グラフ描画ソフト gnuplot のスレ。

gnuplot 公式 Web ページ
http://www.gnuplot.info/

前スレ
gnuplot を使おう。
http://pc8.2ch.net/test/read.cgi/unix/1002453983/l50
0851名無しさん@お腹いっぱい。2010/08/15(日) 22:10:27
> 普通は逆(プロンプトがstderrで、出力がstdout)のような気がする
いやだから、gnuplotにとっての「出力」ってのはグラフの描画結果だろ。
set output を指定なしで使えばstdoutに出る。 (プロンプトがstdoutってのは意味不明)

で、printのデフォルト出力先はstderr。
set print で指定すればstdoutにも出せるが。

つまり、gnuplotは関数電卓じゃねえってこと。
0852名無しさん@お腹いっぱい。2010/09/12(日) 11:37:18
4.4.1
ソースだけ来てる
0853名無しさん@お腹いっぱい。2010/09/28(火) 07:31:58
4.4.2が出てます。
0854名無しさん@お腹いっぱい。2010/09/28(火) 21:04:07
>>853
> * CHANGE depth-sorting of pm3d surfaces now applies jointly to all in the plot

pm3dの隠面処理が賢くなったようだ。
複数の格子で構成された形状でもちゃんと手前の物が手前に表示されてる。
ありがたい。
0855名無しさん@お腹いっぱい。2010/10/01(金) 17:06:35
Unix板にすみません<m(__)m>。4.4.2のwindows,cygwin, DJGPP, OS2のバイナリ
出たようです。
0856名無しさん@お腹いっぱい。2010/10/01(金) 19:20:26
>>855
うん。それで?
0857名無しさん@お腹いっぱい。2010/10/01(金) 19:34:30
djgpp とか懐かしす
0858名無しさん@お腹いっぱい。2010/11/03(水) 19:21:10
gnuplotはデフォルトでemacs的なキーバインドがありますが、これをカスタマイズすることはできますか?
0859名無しさん@お腹いっぱい。2010/11/03(水) 19:28:20
>858
たぶんgnuplotの機能ではなくて
readline(3) ライブラリのことをいっているから
man readline して ~/.inputrc 辺りに適当に書くべし
0860名無しさん@お腹いっぱい。2010/11/03(水) 20:30:16
>>859
ありがとうございます。やってみます。
0861名無しさん@お腹いっぱい。2010/11/19(金) 15:55:52
すみませんレポートを書かないといけないんですが、
・格子点を打つ(x,y∈整数のとき)
・x軸が時間なので矢印にする
・グラフのラベルを左側に表示する
(set key outsideは右側、あとグラフのサイズが変わってしまう)
ということをしたいのですが、ぐぐっても方法がわかりません
ご指南ください
0862名無しさん@お腹いっぱい。2010/11/20(土) 20:28:47
> ・格子点を打つ(x,y∈整数のとき)
そういう機能はないと思う。
格子点座標を羅列したファイルを作って plot with points/dots するしかないかな?

> ・x軸が時間なので矢印にする
set arrow from 0,0 to 1,0
とか。

> ・グラフのラベルを左側に表示する
help key か、もう一度ググるかしろ。
0863名無しさん@お腹いっぱい。2010/11/21(日) 22:20:26
てs
0864名無しさん@お腹いっぱい。2010/11/21(日) 22:31:36
Debianにgnuplot入れてみたんだが、起動するとterminalがwxtになっている
このままグラフを書くと
GLib-GObject-WARNING **: /build/buildd-glib2.0-2.16.6-3-i386-fvJQDr/glib2.0-2.16.6/gobject/gsignal.c:1741: instance `0x82fb4dd0'
has no handler with id `123'
という怪しげな注意書きが出るんだが・・・

ぐぐってみたが、同一の現象の人が
http://forum.soft32.com/linux/Bug-452107-gnuplot-GLib-warnings-wxt-terminal-ftopict468393.html
この人くらいしかいなくて解決法がわからない

解決法か、もしくはgnuplotを起動したときにterminal x11で起動する方法を教えてくれると助かる
(x11でplotしても上のような注意書きは出なかった)
0865名無しさん@お腹いっぱい。2010/11/21(日) 22:59:43
>864
全然詳しくないけど wxt は >800 前後くらいで話題になってる
0866名無しさん@お腹いっぱい。2010/11/21(日) 23:37:21
>>865
>>899を参考に.gnuplotを作りset terminal x11と書き込めばなんとかうまくいけました
ありがとうございました
0867名無しさん@お腹いっぱい。2010/11/23(火) 00:04:56
gtk使うアプリでgtk関係のワーニングはむしろ出るのが普通なので気にしたら負け。
0868名無しさん@お腹いっぱい。2010/11/23(火) 00:17:28
>867
なんつーか開発者向け以外のワーニングは
off にする設定ってないのかね…

firefox & とかしたときもうざいっす
0869名無しさん@お腹いっぱい。2010/11/23(火) 16:51:25
しょせんgtk
0870名無しさん@お腹いっぱい。2010/12/01(水) 23:45:07
set size ratioなどを使っても、ラベルやメモリ刻みを表示させると
縦横比が1:1にならない(横長になる)のですが、どうすればちゃんと出来ますか?
0871名無しさん@お腹いっぱい。2010/12/02(木) 02:26:38
>>870
OS、gnuplotのバージョン、使ってるterminalを書け
0872名無しさん@お腹いっぱい。2010/12/13(月) 21:13:57
y軸に平行な直線を引くためには
別にデータファイルを用意しないと引けないのでしょうか。
バッチファイルに記述する方法をご存じの方いましたら教えて下さい
gnuplot ver 4.2です
0873名無しさん@お腹いっぱい。2010/12/13(月) 23:30:46
ぱらめとりっく?
0874名無しさん@お腹いっぱい。2010/12/14(火) 11:53:15
>>872
ちょっと古い情報になりましが,いまでも使えるでしょう。
http://t16web.lanl.gov/Kawano/gnuplot/parametric.html#Q2
0875名無しさん@お腹いっぱい。2010/12/14(火) 17:57:04
>>874
できました!
ありがとうございます
0876名無しさん@お腹いっぱい。2010/12/24(金) 18:02:10
>>872 >>874 >>875
set arrow nohead
というのがあるらしい。4.2で使えるかはわからないが

http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gpinfo-2010.html#info-20101215
0877名無しさん@お腹いっぱい。2011/01/01(土) 15:44:34
4.0だと、グラフウインドウのタイトルバー右クリック→option→Line Styleで
自由に線の色とか変えられたけど、4.2だとどうやるんだ?
まさか set style 云々 で変えるしかないのか?
0878名無しさん@お腹いっぱい。2011/01/01(土) 19:00:52
そうやるのが普通だ
0879名無しさん@お腹いっぱい。2011/01/01(土) 19:34:35
>>877
windows terminal の機能のことなら、4.2でも普通に使えてたと思うが
0880名無しさん@お腹いっぱい。2011/01/04(火) 09:13:44
>>877 >>879 4.4でも同じです。
0881名無しさん@お腹いっぱい。2011/01/04(火) 09:47:50
起動デフォルトのterminalが変わってただけだった。set term wind したらいつもどおりになった。すまん。
デフォルトのあのGUI的な描画ウインドウが、MATLAB並のグラフ編集能力持ってたら、いろいろ役立つんだけどな。
0882名無しさん@お腹いっぱい。2011/01/04(火) 11:39:48
>>881
それ4.4.xじゃない?

つうか質問するときはOSとかターミナルの種類とか書いてほしいね
0883名無しさん@お腹いっぱい。2011/01/04(火) 15:07:39
>>881 環境変数GNUTERMをwindowsにセットする。
あるいは,windows版スタートアップファイルgnuplot.ini
(wgnuplot.iniとは,別物)にset terminal windowsを書き込んでおく。
(help startup 参照)。
>>MATLAB並のグラフ編集能力
編集能力はないけど4.4 からwindows terminalでは,
plot WindowでCTRL+Cでグラフがコピーできて,ベクトル形式で貼れるよ。

GUI的なフロントエンドをおもとめなら,Cueplot がある。
http://cueplot.sourceforge.jp/wiki/

私は,GUI的なのそれほど好みでないからSciTEエディタをカスタマイズして,
やっている。
http://www.tatsuromatsuoka.com/gnuplot/Jpn/gnuplot_memo.html#100508
0884名無しさん@お腹いっぱい。2011/01/23(日) 01:24:25
>>512
超遅レスだけど、自分で調べてて分かったのでついでに。

rrangeを設定すれば0以下もできるっぽいです。
xrange, yrangeが分かりにくいんですが、実際の値というよりは
描画する範囲が“何目盛り分か”というふうに考えると理解しやすいです。

↓の例を見ると分かると思います。

set polar
set grid polar
set size square
unset border
unset xtics
set ytics axis

set rrange [-2:2]
set xrange [-4:4]
set yrange [-4:4]
plot sin(10*t)
0885名無しさん@お腹いっぱい。2011/02/04(金) 23:05:06
keyとグラフが重なっている場合、keyの範囲でグラフが隠れるようにできないでしょうか?
あとgridもですが、通常のgridはkeyに隠れてくれるのですが、grid polarだと隠れないですね。
keyを常に優先表示するというのは無理なんでしょうか?
0886名無しさん@お腹いっぱい。2011/02/05(土) 14:15:27
>>885
開発版なら set key opaque でできるな
0887名無しさん@お腹いっぱい。2011/02/05(土) 17:33:25
>>886
ありがとうございます。4.5の開発版ですね。
CVSで入手するようですが接続できませんでした。また後で試してみます。
cvs [login aborted]: connect to [gnuplot.cvs.sourceforge.net]:2401 failed: Connection refused
0888名無しさん@お腹いっぱい。2011/02/05(土) 21:15:48
>>887
sourceforge.netはアタックを受けて今cvs停止中らしい

windowsならバイナリがここらにある
ttp://w32tex.org/index-ja.html
ttp://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/
0889名無しさん@お腹いっぱい。2011/02/10(木) 07:00:21
>>887
本家MLによると
https://github.com/gnuplot/gnuplot
で2011-01-25 Ethan A Merritt <merritt@u.washington.edu>の
ソースが手に入ります。
gitですが,gzとzipのアーカイブが手に入るようです。
08908852011/02/10(木) 20:37:09
>>889
ありがとうございます。インストールできました。
0891名無しさん@お腹いっぱい。2011/02/17(木) 12:04:59
wgnuplotを使ってみたらタブ補完が効かない・・・
debianはライセンスの問題があったけど、Windowsも何か問題があるのかな
0892名無しさん@お腹いっぱい。2011/02/18(金) 08:56:59
三次元の点データから等高線を作りたいんですがdgridで格子を作ると近似が荒すぎてうまくいきません。
dgrid3dの後の数字を色々入れたりしたんですがZ値への寄与がXに比べYは確かに小さいとは言えYについての変化は0です。
近似をより正確にする方法などはないでしょうか。
0893名無しさん@お腹いっぱい。2011/02/18(金) 21:48:57
>>892
それだけの情報じゃなんとも言えんのだが、
dgrid3dのヘルプを読んで他の補間アルゴリズムを試してみるとか。

まあヘルプにも、もっとましな補間がしたきゃよそでやれとか書いてあるんだけどw
0894名無しさん@お腹いっぱい。2011/02/27(日) 15:47:34.24
>>891
gnuplot自体が,GNU ReadlineのGPLとコンパチでないので,BSD editlineしか
バイナリ配布では組み込めない。Windows で動くBSD Editlineはないので
あきらめるしか手がない。
また,gnuplot ならともかく独自コンソールのwgnuplotにはもしWindows版
Editlineがあっても組み込めるか怪しい。
 
0895名無しさん@お腹いっぱい。2011/03/05(土) 05:21:25.10
どうも4.4.3がでるようですね。

http://old.nabble.com/Planned-release-of-version-4.4.3-to31046629.html
0896名無しさん@お腹いっぱい。2011/03/06(日) 03:40:10.86
まだ,ソースだけですが4.4.3がでました。
http://sourceforge.net/projects/gnuplot/files/gnuplot/4.4.3/
0897名無しさん@お腹いっぱい。2011/03/07(月) 16:59:37.85
gnuplot 4.4.3 windows版バイナリもアップされたよう
http://sourceforge.net/projects/gnuplot/files/gnuplot/4.4.3/
0898名無しさん@お腹いっぱい。2011/03/09(水) 21:30:01.67
>>896
> * NEW Implement pan and zoom via mouse wheel.

xrange, yrange をマウスホイールでいじれるようになったな
なかなか面白い
0899名無しさん@お腹いっぱい。2011/03/15(火) 23:27:35.51

普段、set term x11 にしてインタラクティブに使っているのですが、
$ cat hoge
plot sin(x)
pause -1
$ gnuplot hoge

というようにファイルを作るのではなくて、たとえば

$ cat << EOF | gnuplot
plot sin(x)
pause -1
EOF

という感じでファイルを作らずに使う方法はないでしょうか?
ただ、↑のやり方だとgnuplotがすぐ終了してしまってインタラクティブになりません。
0900名無しさん@お腹いっぱい。2011/03/16(水) 09:03:52.47
$ gnuplot
でコマンドラインを起動する方法じゃダメなのか?
09018992011/03/16(水) 18:11:53.28
>>900
gnuplotをまず立ち上げて、コマンドラインでインタラクティブに使うということですか?
zshの補完や履歴を使いたいので、>>899のようなことができればなぁ、と思いお尋ねした次第です。
0902名無しさん@お腹いっぱい。2011/03/16(水) 21:31:33.42
gnuplot -persist -e "plot sin(x)"
0903名無しさん@お腹いっぱい。2011/03/20(日) 16:05:44.74
パラメトリックで2つの曲線 plot f(t), g(t), f(t), g(t)+h(t) があって
2つの曲線の間を塗りつぶす方法を教えてください。
つまりExcelでいう積み上げ面と散布図を合わせた感じ。
09048992011/03/23(水) 02:11:10.82
>>902
ありがとうございます!そんなオプションがあったなんて
これでいちいちファイルを作らなくて済みます
0905名無しさん@お腹いっぱい。2011/05/15(日) 18:24:13.18
地震の後しばらくしてから学校入れなかったせいか過疎ってるな。
0906名無しさん@お腹いっぱい。2011/06/06(月) 12:18:33.31
関数のプロットの書き出し初めの座標を決めることはできますか?

デフォルトでは領域の最左端が始まりになります

目的は棒グラフの横幅の中点と
それに重ねるグラフのサンプリング点のx座標を同期させることです
0907名無しさん@お腹いっぱい。2011/06/06(月) 14:09:59.14
fitで決められた、viaの後に置いた定数へはどうアクセスしますか?

グラフのタイトルにこの値を印字したいのです
0908名無しさん@お腹いっぱい。2011/06/06(月) 20:29:49.69
>>906
>>740-741 の応用でできんかな?
0909名無しさん@お腹いっぱい。2011/06/08(水) 17:53:23.28
Windows版のはsystemコマンドがまともに機能しませんね
0910名無しさん@お腹いっぱい。2011/06/11(土) 19:14:49.47
>>909
まともに機能しないってどういうこと?
とりあえずsystem("notepad")ってやっただけのは普通に動いたよ?
0911名無しさん@お腹いっぱい。2011/06/13(月) 22:05:44.44
指数分布のフィッティングはビルトインの機能を使うべきですか?
それとも分布から計算した平均を用いてλを逆算して決めるべきですか?
0912名無しさん@お腹いっぱい。2011/06/13(月) 22:43:35.38
理論的に求まるんならそっち使ったほうがいいんでないの?

フィッティングって最小2乗法と2分探索か何かで力任せだから。
0913名無しさん@お腹いっぱい。2011/06/13(月) 23:05:10.78
あり^^
0914名無しさん@お腹いっぱい。2011/06/17(金) 04:45:01.35
関数をプロットするのですが、その中の一つのパラメータは
ファイルから数値を読みとって欲しい場合はどうしますか?

0.1 1.238 5.464 1.443 0.998
なんてファイルを用い
reread毎に列をずらして読み出した値を
f(x)のパラメータに適用しながら

5つの、パラメータ毎のグラフをファイルに書き出すシナリオです
0915名無しさん@お腹いっぱい。2011/06/17(金) 11:43:41.26
自分ならgnuplotの仕事はプロットだと割り切って、
元のファイルから読み込んで計算して経産結果を別のファイルに書き出すのは、
Pythonか何かでやる。
0916名無しさん@お腹いっぱい。2011/06/17(金) 20:34:26.17
シェルスクリプトでごにょごにょやる
0917名無しさん@お腹いっぱい。2011/06/19(日) 10:53:03.59
fgt
0918名無しさん@お腹いっぱい。2011/06/21(火) 16:18:27.92
OpenBlocS600D Debian(squeeze) gnuplot4.4

何故かset ylabel "hoge"がエラーを吐いて表示されない
普通のx86機にsqeezeとgnuplot4.4入れてやってみると表示される
pngに縦書きを表示させるのに何か必要?
0919名無しさん@お腹いっぱい。2011/06/21(火) 16:40:16.09
libpngが必要とか?
09209182011/06/21(火) 17:15:38.91
gdImageStringFT: Problem rendering glyph while printing string hoge with font /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf

GDが悪いのかと思っていろいろやってみましたが上記エラーが帰ってくるだけでした
0921名無しさん@お腹いっぱい。2011/06/21(火) 19:13:43.42
/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf は存在するのね?
09229182011/06/21(火) 23:00:11.59
存在します。ylabel以外は正常に表示されています。
0923名無しさん@お腹いっぱい。2011/06/22(水) 14:21:14.18
>>918
pngcairo 使えば?
09249182011/06/22(水) 17:37:22.93
pngcairoを使ってみたら表示はできましたがylabelの位置が変です
左端にあったりグラフ中央にあったり原点が狂ってるような感じです
offset screenで-指定してもグラフが左方向に縮むだけでylabelが移動しません
09258192011/06/22(水) 17:58:40.86
どうやらpngでもpngcairoでも文字を90°の整数倍傾けると表示できないかかしくなるようです
89°ならpngでも表示できました
0926名無しさん@お腹いっぱい。2011/06/23(木) 02:15:56.25
>>918 >>925
gdImageStringFT
gdやcairoが下請けにしているFreetypeがバクってるのかも。
(FTはFreeTypeのこと)
Freetypeを自分でビルドしてみれば?
0927名無しさん@お腹いっぱい。2011/06/24(金) 01:26:35.40
do, while, if ブロック/ネストのサポート
 http://ayapin.film.s.dendai.ac.jp/cgi-bin/trees.cgi?log=&v=2526&e=msg&lp=2526&st=0
0928名無しさん@お腹いっぱい。2011/06/24(金) 06:55:30.15
>>918 Debian(squeeze) gnuplot4.4
0929名無しさん@お腹いっぱい。2011/06/24(金) 06:57:31.09
>>918 Debian(squeeze) gnuplot4.4
Debian フォーラムかMLで聞いてみれば。英語になるから敷居は高いと思うけど。
Unixだったらdistributeしてるところで聞くのが一番だと思う。
0930名無しさん@お腹いっぱい。2011/07/07(木) 14:01:35.52
>>927
まさにコノ機能が欲しかった!
0931名無しさん@お腹いっぱい。2011/07/10(日) 11:51:48.01
寧ろなぜ今までできなかったのか
0932名無しさん@お腹いっぱい。2011/07/12(火) 01:48:26.84
>>931 その機能を実現するコードを書く人がいなかった。
もしくは,Ethan氏がそのコードを書く意欲がわかなかった。
どちらかでしょう。
0933名無しさん@お腹いっぱい。2011/07/13(水) 12:29:26.84
データファイルから文字列を読み込んで、タイトルに設定する方法はありますか?
0934名無しさん@お腹いっぱい。2011/07/14(木) 02:41:25.65
>>933
http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gpinfo-2011.html#info-20110624

関数のパラメータをファイルから読みこんで関数のグラフを書くには、 という質問がありました (914)。


あたりが参考になりませんか?
0935名無しさん@お腹いっぱい。2011/07/14(木) 07:09:17.56
>>934
おおっ!素晴らしいページを紹介して下さり、ありがとうございました。
今はawkに食わせてloadする方法を取っているのですが、gnuplotだけでも書けそうです。
それにしても、plotのusingを使って代入する方法は思いつきませんでした。
考えた人は天才ですね。
0936名無しさん@お腹いっぱい。2011/07/14(木) 10:23:09.68
>>932
そうか、まあいーさん
0937名無しさん@お腹いっぱい。2011/07/16(土) 10:52:26.07
最近また 2 つほど大きな機能が CVS 版の gnuplot に追加されましたようです。
http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gpinfo-2011.html#info-20110715
0938名無しさん@お腹いっぱい。2011/07/20(水) 19:11:43.06
gnuplot ってそれなりに歴史ある筈なのになんでスレがその2なの?
黎明期なの?
0939名無しさん@お腹いっぱい。2011/07/20(水) 19:52:33.86
うに板にあるのが微妙ってこともある。
Windows版もあるよね確か。
0940名無しさん@お腹いっぱい。2011/07/20(水) 20:20:39.42
歴史が長いからスレが伸びるってもんでもない。
0941名無しさん@お腹いっぱい。2011/07/20(水) 20:54:17.57
うわずっとム板のつもりで書き込んでた
0942名無しさん@お腹いっぱい。2011/07/21(木) 10:15:26.55
>>939 octave Win版あるのにUnix板にある。まあ,あれは,Win版Nativeが
出たの遅かったからなあ。

ところで,誰か次のスレ立てしていただけませんか。
ム板でもうに板でもいいですから。
0943名無しさん@お腹いっぱい。2011/07/21(木) 16:17:37.70
970くらいでいいよ

つかなんでム板?
0944名無しさん@お腹いっぱい。2011/07/21(木) 23:23:11.74
multiplotでメモリを固定して、凡例だけずらして表示するにはどうするの?
0945名無しさん@お腹いっぱい。2011/07/22(金) 04:27:34.64
>>943 gnuplotは,昔からマルチプラットフォームで動くことをうたい文句に
しているのでうに板でないほうがいいのではと思う。

ソフトウェア板は?
0946名無しさん@お腹いっぱい。2011/07/22(金) 19:58:03.65
ソフ板なんか行ったら即死じゃねw

ここのがいいよ、のんびりしてて
荒らしの類もあんまり来ないし
0947名無しさん@お腹いっぱい。2011/07/23(土) 19:55:35.86
>>946 じゃあ。このまま,うに板で「その3」ということで
0948名無しさん@お腹いっぱい。2011/07/23(土) 20:26:54.10
gnuplotってそれ単体で使うことある?昔はoctaveから使ってて、
今は収集したデータを整形して食わしてグラフを描くのに使ってるけど、
単体じゃそもそも何に使えるのか分からんよ。
ほとんどの場合、unixでよく使われる外部ツールと組み合わせて使うから、
他の環境だとますます馴染みがないだろうね。
0949名無しさん@お腹いっぱい。2011/07/23(土) 20:39:59.20
何に使えるかわからんて。
ベッセル関数とか媒介変数表示のグラフだって書けるってのに。
測定結果の概形や関数の概形見るのにすごく便利。
0950名無しさん@お腹いっぱい。2011/07/23(土) 21:19:56.80
そうだね。自分の用途だとデータのプロットが主だから、
そういう使い方だと単体じゃ使いにくいねって言いたかっただけだよ。
まあ、データの前処理までgnuplotにやって欲しい、やらせたいとは思わないけどさ。
こういうグラフを描くことだけに特化したソフトって他にあるのかな?
レス数が950を超えています。1000を超えると書き込みができなくなります。