トップページ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
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にやって欲しい、やらせたいとは思わないけどさ。
こういうグラフを描くことだけに特化したソフトって他にあるのかな?
0951名無しさん@お腹いっぱい。2011/07/24(日) 00:39:58.75
グラフっていうか,表示ソフトなら paraview が有名だよね
0952名無しさん@お腹いっぱい。2011/07/24(日) 04:24:46.21
>>948
グラフ作成にバンバン単体で使ってます。

www.tatsuromatsuoka.com/gnuplot/Jpn/gnuplot_memo.html#100508
も利用して,

www.tatsuromatsuoka.com/tmacchant/OOo_gnuplot/
を参考に論文用のグラフを作成しています。

gnuplot カーブフィッテングができるので,
データ解析にも使えるので実験屋にとっては便利な頼もしい味方だ。
0953名無しさん@お腹いっぱい。2011/07/24(日) 11:46:04.61
>>948 >>952
よく考えたら,いろいろ外部コマンド使ってるから,
単体使用じゃないなあ
0954名無しさん@お腹いっぱい。2011/07/24(日) 13:05:34.59
面倒な前処理はさすがにawkなりrubyなり使っちゃうけど、簡単な処理ならusing使えば済むしなあ。

数値微分までやってる人もいた。
俺はgnuplotでそこまでやろうとはさすがに思わんが。
0955名無しさん@お腹いっぱい。2011/07/24(日) 19:06:42.05
バッジ処理使ってグラフを大量生産できるのが便利で使ってる
0956名無しさん@お腹いっぱい。2011/07/24(日) 19:56:40.19
>>951
それは何か気色が違うね。データからグラフを描くバックエンド的なソフトって
(有料ならあるのかも知れないけど)特殊と言うか他に見ない気がする。

面倒な数値計算とかバッチ処理とか、面倒なのはスクリプト言語に丸投げだ。
単体でやろうとして、ループはrereadでなんて見つけたときには一気にやる気がそがれたよ。
今はforとかあるそうだけど。
0957名無しさん@お腹いっぱい。2011/07/24(日) 19:57:11.55
C++から計算結果の確認用に
system("wgnuplot -noend -e \" p 'data.txt' u 1:3 w l; \");
みたいにして使ったりする.
実際にはコマンド部分の文字列は他の部分で作るけど.
0958名無しさん@お腹いっぱい。2011/07/25(月) 00:37:48.95
>>957
俺はそれを実験データでやってる
実験データの解析をC++で自作したプログラムにやらせてるんで
0959名無しさん@お腹いっぱい。2011/07/25(月) 19:04:03.80
>>956
良くも悪くも、単機能プログラムを複数組み合わせて
複雑な処理を行うっていうUNIX文化のプログラムだからね

高度なデータ処理をgnuplotでやろうとしてる質問者を見るたびに、
そういうのはgnuplotの外でやっといた方が楽だよと言いたくなる
0960名無しさん@お腹いっぱい。2011/07/25(月) 21:55:05.73
>>957
なんかこの手の処理はgnuplotをpopenで起動してパイプで流し込んだほうが最近のコンピュータだと速そう。
C++なら計算結果を記録するクラスにgnuplot制御する処理も書いておけば、
そのクラスが破棄されるタイミングでグラフ表示とかできそうだ。

>>959
それが、このスレがこの板に建ってる理由じゃないか?
そもそも、gnuplotのスクリプトってチューリング完全なのかな。全く話が逸れるけど。
0961名無しさん@お腹いっぱい。2011/07/25(月) 22:25:16.66
次スレは>>970が立てるとして、誰かテンプレ考えてくれないか?
さすがに>>1じゃ寂しすぎるだろうw
0962名無しさん@お腹いっぱい。2011/07/26(火) 06:51:48.19
>>960
私も自作の測定プログラムで,プロットエンジンとしてgnuplotをpopenで
使っています。複雑なGUIのプログラミングをしないでグラフがかけるので
便利です。(windowsのにんげんですが。)
0963名無しさん@お腹いっぱい。2011/07/27(水) 13:30:54.27
>>5 を追加するくらいでいいんじゃない?
gnuplot 使おうという奴なら特にあれこれ >>1 に書いてなくても。
0964名無しさん@お腹いっぱい。2011/08/02(火) 17:07:09.53
gnuplotでttp://www.mathworks.co.jp/products/demos/shipping_ja/matlab/_graf2d2_06_thumbnail.png
みたいなプロットできる?
0965名無しさん@お腹いっぱい。2011/08/03(水) 07:43:56.95
>>964
表示したい断面のデータを用意すればできる

3次元分布のデータを読み込んで任意の面でスライスってのは、
俺にはできるか分からん
0966名無しさん@お腹いっぱい。2011/08/03(水) 07:57:39.31
>>965
それでもokです.
どうやって3次元の中に予め用意した断面を入れるんですか?
0967名無しさん@お腹いっぱい。2011/08/03(水) 08:56:24.30
まず
(x座標) (y座標) (z座標) (値)
という行を羅列した、2次元メッシュのデータファイルを作る
z=0の面で切るならこんな感じ

-1 -1 0 0.5
-1 0 0 0.4
-1 1 0 0.3

0 -1 0 0.4
0 0 0 0.3
0 1 0 0.2

1 -1 0 0.3
1 0 0 0.2
1 1 0 0.1

面を複数表示するなら同じファイルに2行空けて追記する

で、
> set pm3d depthorder
> splot 'data.dat' with pm3d
0968名無しさん@お腹いっぱい。2011/08/03(水) 10:32:51.16
>>967
ありがとうございます!!
0969名無しさん@お腹いっぱい。2011/08/05(金) 06:55:33.26
CVS版にくりかえしに関連した追加がまた行われました。

http://ayapin.film.s.dendai.ac.jp/cgi-bin/trees.cgi?log=&v=2534&e=res&lp=2534&st=
0970名無しさん@お腹いっぱい。2011/08/05(金) 21:32:35.06
plot "xaa" using 0:1, "" using 0:(a=$1+$3) axes x1y2, "" using 0:(-(b=$2+$4)) axes x1y2, "" using 0:(a-b) axes x1y2
こういう書き方できないんだね。当たり前って言えばそうなんだけどさ。
gnuplotがもう少し速く計算してくれたら2回書いても遅くならないんだが…
0971名無しさん@お腹いっぱい。2011/08/07(日) 17:17:04.97
gnuplotで計算させちゃらめ
0972名無しさん@お腹いっぱい。2011/08/23(火) 04:33:38.00
Version 4.4 OS:Windows32bit
wgnuplotで起動して最初にplotするときだけ時間が異常にかかります
現状、gnuplot\をDataドライブのDocuments\においているのですがCドライブにおいたほうが良いのでしょうか
原因、解決策はわかりますでしょうか?
0973名無しさん@お腹いっぱい。2011/08/23(火) 08:17:34.89
俺もそうだけどあれはあんなもんなのかなと思ってる
0974名無しさん@お腹いっぱい。2011/08/23(火) 10:29:30.22
>>972
http://d.hatena.ne.jp/tailriver/20110209/1297218043
0975名無しさん@お腹いっぱい。2011/08/23(火) 12:17:46.88
>>974
私の環境だとC:\Users\username\AppData\Local\Tempにfontconfigはできず
ドライブ全体に検索をかけてもそのフォルダは見つかりませんでした
0976名無しさん@お腹いっぱい。2011/08/23(火) 12:43:27.51
環境変数TEMP or TMPで指定しているフォルダにあると思う

wxt固有の話だから、windowsターミナルでいいなら話は早い
0977名無しさん@お腹いっぱい。2011/08/23(火) 21:10:52.54
>>976
ありがとうございます。
普通にTempで指定しているところにありました
0978名無しさん@お腹いっぱい。2011/08/25(木) 12:20:22.63
980越えると即落ちするんで新スレたてたよ

gnuplot を使おう。 その3
http://hibari.2ch.net/test/read.cgi/unix/1314242150/

即死しない程度にテンプレとか補充してやってね
0979名無しさん@お腹いっぱい。2011/08/25(木) 19:14:37.86
0980名無しさん@お腹いっぱい。2011/09/29(木) 18:25:45.36
まだ残ってるw

埋め
0981名無しさん@お腹いっぱい。2011/09/30(金) 22:05:22.64
0982名無しさん@お腹いっぱい。2011/10/01(土) 18:28:46.66
埋まりきる前に落ちそう
レス数が950を超えています。1000を超えると書き込みができなくなります。