gnuplot を使おう。 その2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/11/28(火) 22:10:25gnuplot 公式 Web ページ
http://www.gnuplot.info/
前スレ
gnuplot を使おう。
http://pc8.2ch.net/test/read.cgi/unix/1002453983/l50
0434名無しさん@お腹いっぱい。
2008/10/17(金) 22:26:030435名無しさん@お腹いっぱい。
2008/10/17(金) 22:49:490436名無し
2008/10/18(土) 21:49:48球の中心の座標は一辺10のセル内(0≦x≦10,0≦y≦10,0≦z≦10)に存在するとします。
球の中心の座標はバイナリファイル「zahyou.plt」にかかれているとします。
<zahyou.plt>
8.999 3.888 1.999
2.666 3.488 7.999 @
2.333 4.999 4.555
1.223 2.333 4.555
2.556 9.008 5.666 A
2.334 6.904 2.444
3.223 2.243 4.105
3.556 6.345 5.298 B
7.334 8.904 9.444
・
・
・
@、A、Bは3つの球の中心の座標です。
@から順にs秒毎にデータをgnuplotに読みこませて球を表示させて3つの球が動く様子を観察しよう
と考えています。
(s秒後には@のみ、2s秒後にはAのみを読み込む)
しかしgnuplotの使い方が未熟であるためその方法がいまひとつわかりません。
もしよければどなたかアドバイスを頂けませんか?
0437名無しさん@お腹いっぱい。
2008/10/18(土) 22:08:460438名無し
2008/10/19(日) 02:30:15データを読み込んでグラフィック表示する方法としてgnuplotを用いたのは、
グラフィック表示に関する専門知識を勉強する時間をあまり必要としない
一番簡単な方法だと考えたからです。
グラフィック表示させることに関してあまり時間はかけられないので。
gnuplotを用いることに特にこだわりはないです。
他に何かいい方法があればこしたことはないですが・・・。
0439名無しさん@お腹いっぱい。
2008/10/19(日) 02:47:50他の言語からgnuplotにプロセス通信したほうがいいんじゃないかと
少なくともpythonとcにはそのためのライブラリがつくられてることだし
やることはgnuplotの文書くのと変わらんし
sleep使うようになるだけで
0440名無しさん@お腹いっぱい。
2008/10/19(日) 10:35:380441名無しさん@お腹いっぱい。
2008/10/19(日) 13:42:40同意。
425さんも言っているけど、質点でなく、球体だからなぁ。
時刻毎の静止画かかせてアニメ化するほうが早いと思う。
グラフィックに時間をかけたくないということは、
レンダリングソフトなんかは使いたくないということですよね。
438さんの OS 環境がわからないけど、yaplot なんかいかが?
0442名無しさん@お腹いっぱい。
2008/10/19(日) 14:15:51gnuplot のアクロバティックな使い方を追求するより建設的じゃね?
0443名無しさん@お腹いっぱい。
2008/10/19(日) 19:38:56xrangeはautoscaleとして、その時に設定された範囲と同じようにyrangeを定めたいのですが、
やはりgnuplotでは難しいのでしょうか?
0444名無し
2008/10/20(月) 01:57:18OSはLinuxを使用しています。
0445船木康博
2008/10/20(月) 07:50:56秋ならぶどうかな?
Linux系は種類が多いでさぁ、
ペンギンもいるし、ユーザーには選択の自由があるでよぉ。
コンパクトで軽量な日本語ディストリビューションの、
Vine Linuxもいいかなぁ。
http://vinelinux.org/
サーバー向きか端末向きか、有償サポート付きか選べるしね。
SUNだって、無料なら使ってもいいらし。
NSPIXPは、FreeBSDを採用しているかもしれねぇし、
安定してきたLinuxカーネルかMicrosoftのWindowsかもしれねぇしさぁ。
2000年12月号掲載 よしだともこのルート訪問記
http://www.tomo.gr.jp/root/new/root69.html
0446名無しさん@お腹いっぱい。
2008/10/20(月) 08:57:19x,y ともに autoscale (自動)なんだけど
range は xrange == yrange になってほしい(y=x が対角線になってほしい)
って意味でしょうか?
だとするとgnuplot にはないかもね
自分だったら毎回 xrange,yrange セットしてます
0447名無しさん@お腹いっぱい。
2008/10/20(月) 20:24:41writebackとrestoreを使ったらできそうな気もする。
ttp://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gpinfo-2005.html
このへんが参考になるかも。
0448名無しさん@お腹いっぱい。
2008/10/21(火) 21:51:20以下のようなデータが書き込まれているバイナリのデータファイル
0.1 0.3 0.9
0.1 0.4 0.9
0.1 0.5 0.9
0.1 0.6 0.9
0.1 0.7 0.9
(実際にはスペースや改行が無いdoubleの数値の羅列)を読み込んでグラフを
出したいのですが,どうすれば良いでしょうか?
上のがテキストファイルだった場合は,例えば
> plot "datafile.txt" using 2
のようにすれば2列目をY軸に取ったグラフができると思うんですが,
それと同様のことがしたいです.
> plot "datafile.bin" binary format="%double"
に続けるコマンド:何個目までが1行,というような指定のしかたが分からなくて・・・
よろしくお願いします.
0449名無しさん@お腹いっぱい。
2008/11/06(木) 01:30:03以下のような内容をgnuplotに読み込ませてグラフを表示したところ、
2つあるグラフのどちらもX軸付近で途中で消失してしまっているのですが、
これを解消するためにはどうすればよいのでしょうか?
set xlabel"X-Axis"
set ylabel"Y-Axis"
set xrange[-300:20]
set yrange[0:200]
f(x) = (((19**(0.5)-1)**2)*10*(10-x))**0.5
g(x) = (15269.5449 - (x + 153.57)**2)**0.5
plot f(x) ,g(x)
初歩的な質問だとは思うのですが、よろしくお願いします。
0450名無しさん@お腹いっぱい。
2008/11/06(木) 01:52:51きちんと最後まで線を引きたいなら、set parametricで媒介変数表示する
0451名無しさん@お腹いっぱい。
2008/11/06(木) 11:22:28うまく描写できました。ほんとうに感謝です。
0452名無しさん@お腹いっぱい。
2008/11/07(金) 11:56:010453名無しさん@お腹いっぱい。
2008/11/07(金) 13:26:050454452
2008/11/07(金) 16:15:37ltで決めてるのは線種だけのようで、カラーなら実線オンリー、白黒なら実線・破線になるようです。
ttp://www.akita-nct.ac.jp/~yamamoto/comp/graph/gnuplot/gnuplot.html
これがgnuplot流儀なのだから、嫌なら自分でpostscriptをいじれ、ってことですかね?
あんまりpostscriptを手動でいじりたくはないのですが・・・
0455名無しさん@お腹いっぱい。
2008/11/08(土) 02:36:13それってsolidやdashedのterminal設定にしてるべ?
そしてうちのHelpにはlinetypeの所で
linestyleで種類/linecolorで色変えられるって書いてある
0456名無しさん@お腹いっぱい。
2008/11/08(土) 02:40:17× linestyleで種類
○ linetypeで種類
0457452
2008/11/08(土) 17:55:16terminalは以下に設定しています。
set term x11 enhanced font "helvetica,18"
linecolorは4.2からのようです。けっこう色々と進化してるんですね。
0458名無しさん@お腹いっぱい。
2008/11/10(月) 23:56:390459名無しさん@お腹いっぱい。
2008/11/13(木) 19:37:020460名無しさん@お腹いっぱい。
2008/11/13(木) 23:18:190461名無しさん@お腹いっぱい。
2008/11/14(金) 23:54:020462名無しさん@お腹いっぱい。
2008/11/15(土) 13:33:010463名無しさん@お腹いっぱい。
2008/11/15(土) 14:08:290464名無しさん@お腹いっぱい。
2008/11/17(月) 09:50:110465名無しさん@お腹いっぱい。
2008/11/18(火) 15:15:01そういうコマンドってありますか?
0466名無しさん@お腹いっぱい。
2008/11/18(火) 16:36:010467名無しさん@お腹いっぱい。
2008/11/21(金) 22:38:400468名無しさん@お腹いっぱい。
2008/11/22(土) 10:56:35ボルツマン定数 Kb 〜 10^-23すら扱えないので困っています
0469名無しさん@お腹いっぱい。
2008/11/23(日) 00:23:000470名無しさん@お腹いっぱい。
2008/11/23(日) 01:35:53じゃだめだけど
print 10.**-23
print 1e-23
ならいける
0471468
2008/11/23(日) 08:09:310472名無しさん@お腹いっぱい。
2008/11/23(日) 22:50:390473名無しさん@お腹いっぱい。
2008/12/01(月) 17:00:41xは60点、yは4点と縦長なグラフに出力したいのですが正方形のグラフになってしまいます
set sizeもz軸とxy平面しか変化しないので・・・ どうすればいいのか教えていただけないですか?
0474名無しさん@お腹いっぱい。
2008/12/03(水) 00:43:05set pm3d でのことですか?
xが60点、yが4点と縦長というのもよくわからないのですが…
60:4 の長さの固定比にしたいということでしょうか。
正方形のグラフというのは、
set size square
にしたということなのでしょうか?
splot でベースのxy平面が正方形に見えるということなのでしょうか?
単位長さを実比で固定するのであれば
set size ratio -1
とか?
0475名無しさん@お腹いっぱい。
2008/12/09(火) 21:40:350476名無しさん@お腹いっぱい。
2008/12/10(水) 14:53:27set xrange [-10:10]
set yrange [-10:10]
set zrange [-10:10]
のときにZ軸を(x,y)=(0,0)に立てることはできますか?
0477名無しさん@お腹いっぱい。
2008/12/16(火) 16:47:22データはgnuplotのあるbinファイルに入れてあります。
どうしたら表示できますか?
0478名無しさん@お腹いっぱい。
2008/12/16(火) 23:40:35ググレ○○
0479名無しさん@お腹いっぱい。
2008/12/17(水) 00:11:050480名無しさん@お腹いっぱい。
2008/12/17(水) 16:57:33gnuplot のインストールでこけているのか、
PATH が通っていないのか、
実験データファイルがまずいのか、
gnuplot のコマンドが間違っているのか、
…
いろいろ推測してみましたが、どれかに当てはまりませんか?
0481名無しさん@お腹いっぱい。
2008/12/25(木) 19:11:56マウス操作でグラフをスクロール出来ますか?
教えてください、よろしくお願いします!
0482名無しさん@お腹いっぱい。
2008/12/26(金) 09:55:24いくつかあるけどね…
0483名無しさん@お腹いっぱい。
2008/12/28(日) 03:43:02なってしまうのですが、titleの""内をそのままに表示するにはどうしたらいいでしょうか?
\でエスケープすればいいかなと思いましたが、駄目でした。
0484名無しさん@お腹いっぱい。
2008/12/28(日) 08:42:400485483
2008/12/28(日) 17:28:02ありがとうございます。\\_で添え字じゃなくなりました。
ただ、何故か文字サイズが通常より半分ほどに小さくなってます。
通常のサイズにすることはできますか?
0486名無しさん@お腹いっぱい。
2008/12/30(火) 14:21:290487名無しさん@お腹いっぱい。
2008/12/30(火) 19:02:55postscriptかな?
0488483
2008/12/30(火) 23:19:07set term x11 enhanced font "helvetica,18"ってしてます。
見た目と実際出力したのは微妙に違うって話を聞いたことがあるので、もしかしたらそれかも・・?
自分は画像をプリントするときは、何かに出力したりせずにPrintScreenでコピる使い方
してるので、もしそうならちょっと不便ですね。
0489名無しさん@お腹いっぱい。
2008/12/31(水) 09:56:52set term postscript enhanced solid 22
で文字の大きさを変えられるんだど、(最後の22で文字の大きさを指定)
x11はあまり使わないのでよく知りません。ゴメンナサイ
0490名無しさん@お腹いっぱい。
2008/12/31(水) 11:42:15データマイニングのときは兎も角,
フォントを気にする段階では
postscript に吐き出したのを gv で随時チェックする
方がやりやすいですねー
0491名無しさん@お腹いっぱい。
2009/01/05(月) 14:13:080492名無しさん@お腹いっぱい。
2009/01/05(月) 14:51:160493excel じゃあるまいし…
2009/01/05(月) 15:06:450494名無しさん@お腹いっぱい。
2009/01/05(月) 16:27:200495名無しさん@お腹いっぱい。
2009/01/05(月) 16:32:030496名無しさん@お腹いっぱい。
2009/01/05(月) 16:37:29昔のことはよく知らんのだが、昔は端末も百花繚乱だったのかしら
0497名無しさん@お腹いっぱい。
2009/01/05(月) 16:38:160498名無しさん@お腹いっぱい。
2009/01/05(月) 17:23:31ubuntu なので terminal は wxt
プリントアウトするときは postscript
論文用の図を作るときは svg で出力して inkscape でいじる。
0499492
2009/01/05(月) 17:50:5310 123
20 456
30 789
・・・
1列の1行「10」と2行「20」の差をd=20-10のように取って
using 1:($2-d)みたいにプロットしたいです。
0500名無しさん@お腹いっぱい。
2009/01/05(月) 20:40:37>>498
>論文用の図を作るときは svg で出力して inkscape でいじる。
自分もほぼ同じOSで同じ事してますが、pm3d map なんか使うと
300x300くらいのデータでも重くて inkscape じゃマトモに編集できなくありません?
inkscape 0.46 はバグ持ちで、以下のような問題がある
http://pc11.2ch.net/test/read.cgi/cg/1216093445/93-96
ので、修正用 extention 使わざるを得ないのですが、
pm3d で出力した十数MB程度のファイルではフリーズしてしまってもう extention が使えません
というか、そもそもファイルを inkscape で開くだけであまりに重くて実用に耐えません
OS は Linux Mint 5 Xfce、CPU は C2D E8500、メモリは 3GB あって
これ以上ハード面の増強も難しいのですが、そちらはどうされてますか?
0501名無しさん@お腹いっぱい。
2009/01/05(月) 21:31:35> 自分もほぼ同じOSで同じ事してますが、pm3d map なんか使うと
> 300x300くらいのデータでも重くて inkscape じゃマトモに編集できなくありません?
デキナイネ。
そういうのはテキストなしのプロットをpngで出力して、
それをinkscapeでsvgファイルに貼り付けてテキストを付け足してます。
> inkscape 0.46 はバグ持ちで、以下のような問題がある
> http://pc11.2ch.net/test/read.cgi/cg/1216093445/93-96
> ので、修正用 extention 使わざるを得ないのですが、
> pm3d で出力した十数MB程度のファイルではフリーズしてしまってもう extention が使えません
> というか、そもそもファイルを inkscape で開くだけであまりに重くて実用に耐えません
いさぎよく0.45使ってます。
まあこっちでも色属性の継承にバグがあるんだけど、(グループ解除すると線が消えたりする)
とりあえずgnuplotから生成したてのsvgファイルはちゃんと見れる。
0.47では解消するようなので気長に待ってます。
0502名無しさん@お腹いっぱい。
2009/01/05(月) 23:18:18gnuplotで行間の処理はできないので、
事前に適当なコマンド/スクリプトで加工しておくか、
!で呼び出すことが必要
0503名無しさん@お腹いっぱい。
2009/01/05(月) 23:19:050504名無しさん@お腹いっぱい。
2009/01/06(火) 00:49:37やはり svg のままじゃ無理ですかね…
現状では gnuplot の png 出力はアンチエイリアス処理が出来ないので
svg 出力してから imagemagic で png にコンバートしてますが、gnuplot のせいか imagemagic のせいか、
これはこれでおかしな具合に半透明(アルファチャネルの値が斑状?)なものが出来たりして、微妙です
正式に gnuplot のバージョンが上がれば、png を cairo で出力するようになって
綺麗なビットマップ出力ができるんでしょうけど
inkscape 共々バージョンアップが待ち遠しいところです
0505名無しさん@お腹いっぱい。
2009/01/06(火) 00:51:50すげー昔に PC9801 でも試用した記憶はあるなー
0506492
2009/01/06(火) 12:01:49>>499のデータのファイル名hoge.datについて、シェル上で
d1=`head -1 hoge.dat | awk '{print $1}'`
d2=`head -2 hoge.dat | tail -1 | awk '{print $1}'`
d=`echo "$d2-$d1"|bc`
として取得できますが、このdをgnuplot上に渡す方法が分かりません。
! d1=`head -1 hoge.dat | awk '{print $1}'`
! d2=`head -2 hoge.dat | tail -1 | awk '{print $1}'`
! d=`echo "$d2-$d1"|bc`
print d
というふうにサクッとできれば良かったんですが・・・
何か方法ないでしょうか?
0507名無しさん@お腹いっぱい。
2009/01/06(火) 13:15:31正直 gnuplot じゃなく他の処理系を使うべき
◇ python(numpy)上で処理 して gnuplot.py に渡すなり
matplotlib で別のグラフ化エンジン使うなり
◇ R で全部
◇ (そのほか君の好きなやつを並べる)
0508492
2009/01/06(火) 13:46:57これ以上グチャグチャしてきたらそうします。
結局、>>506のような「gnuplotのshellコマンドからgnuplotへ値を渡す」のは不可能
という理解で正しいのですか?
0509名無しさん@お腹いっぱい。
2009/01/06(火) 14:17:24シェルスクリプトが書けるんなら、
元のデータから欲しいデータを計算するようなシェルスクリプトを書いて、
plot "< hoge.sh"
とすればプロットできる。
(hoge.shはシェルスクリプトの名前。実行可にして、フルパスで書かないとだめかも)
0510名無しさん@お腹いっぱい。
2009/01/06(火) 15:09:28ってことでしょ
0512名無しさん@お腹いっぱい。
2009/01/06(火) 19:24:20最新版4.2だっけ?を使ってるんだが、極座標にすると目盛に-が表示されない。
ごく普通に
set polar
set xrange [-1:1]
set yrange [-1:1]
set xtics -1,0.1
・・・
みたくやってるんだけど、x軸もy軸も目盛が1 , 0.9 , 0.8 , ..... , 0 , 0.1 , 0.2 , ...... ,1
ってなってしまう。
なんも悪いことしてない気がするんだけどなぁ。
だれか極座標マスターいたら教えてくれい。
0513名無しさん@お腹いっぱい。
2009/01/06(火) 19:47:17軸上の数字はその点での動径座標の値を示してるんだからその表示で正しい。
0514名無しさん@お腹いっぱい。
2009/01/06(火) 19:56:17だよなぁ。
隣の人にも同じコマンドでプロットしてもらったんだけどだめだった。
最新版のバグなんだろうか。
わけくさらん。
0515名無しさん@お腹いっぱい。
2009/01/06(火) 21:04:45極座標表示ではそれが正しいんだよ
0516名無しさん@お腹いっぱい。
2009/01/06(火) 21:29:07ここのくだりは間違ってるの?
0517名無しさん@お腹いっぱい。
2009/01/06(火) 21:58:36本来極座標表示するべきデータじゃない
0518名無しさん@お腹いっぱい。
2009/01/07(水) 16:39:210519名無しさん@お腹いっぱい。
2009/01/08(木) 03:54:230520名無しさん@お腹いっぱい。
2009/01/11(日) 09:39:51set size square
set xrange [-1:1]
set yrange [-1:1]
でグラフを正方形にしたのですが、出力されるeps形式のファイルをTeXで使用すると、
横長の長方形の画像の左側に正方形の領域が寄ってしまって右がわに余白の領域が生まれてしまいます。
TeXの設定でなく、epsファイル自体の余白なのですが、出力の余白の設定などできますでしょうか?
0521名無しさん@お腹いっぱい。
2009/01/11(日) 10:56:02いまは改善されてるかしらないけど
0522名無しさん@お腹いっぱい。
2009/01/11(日) 11:11:31hoge.epsの6行目
%%BoundingBox: 50 50 410 302
これね
0523名無しさん@お腹いっぱい。
2009/01/12(月) 02:34:520524名無しさん@お腹いっぱい。
2009/01/12(月) 19:43:57バウダリーボックスの設定できなかったっけ?
0526名無しさん@お腹いっぱい。
2009/01/13(火) 09:44:13バウンダリーボックス
???
0527名無しさん@お腹いっぱい。
2009/01/13(火) 09:55:370528名無しさん@お腹いっぱい。
2009/01/24(土) 13:10:390529名無しさん@お腹いっぱい。
2009/01/25(日) 02:38:09具体的には
100
1
0.01
1e-04
1e-06
という風に
これはどうすればいいですか?
0530名無しさん@お腹いっぱい。
2009/01/25(日) 04:00:010531名無しさん@お腹いっぱい。
2009/01/26(月) 17:19:160532名無しさん@お腹いっぱい。
2009/01/27(火) 02:25:350533名無しさん@お腹いっぱい。
2009/01/28(水) 12:59:46_ -‐ ´/ , -‐´、_, '⌒`^ 、 \::\ } l ヽヘ ヽ} / _|_ \
 ̄ フ´, / 丶\::V| | Vl ,' |____
. //./ `Vヽl | ヽ ' . | /| ヽ
/ ,イ/ Y/, ヽ.\ |. l (_ノ _ノ
|/ / | ∨ヘ. ト、 \_ |. |
. / / / l: / l ∨i 、 |  ̄ ! l lヽ│/ /
l│ / イ ,イ. l ト、ヽ / | :l :| | l | ヽ_ノ !ー┼‐ |‐┬
| | l_メ、」_,;./l L l V ∧ / :|/ ハ. ト、 | |./│ヽ l |
| ト. |.____ ヽ l´ヽ{ _⊥イ イ / / / l/⌒ヽ .| ー┼─ └── l |
| | ヽ | 、i┘::::i \ | r┬┬‐┬ァ V ,∧. ,' ´ | ー┼−
レ ヽ! ゝ- ' \l i,.┘:::::iノ / ,/〉│ :| { | _⊥_ l |
. 7/l/l/ 、 `'ー‐ ' ∠≠r'ノ:jノ :| | | (__丿 ヽ レ |
λ `i`ァー-- 、 /l/l/l ∧‐'.:|:::| ハ ', | l
`、 レ' ', ,/| ::| :|:::| ./ ヽ_> _| __|_ _ノ
` = 、 '、 ノ ,.イ∧'|:l.:/l:::|´ \ ._|
`>-r =ニi´、.,_`::: |:| { |:::l | .(_|
_,.イ´ヽ.7 / /:\;八:V:ノ | ノ
/7:::::! ○O'´ /::::::::/ヽ.
0534名無しさん@お腹いっぱい。
2009/02/04(水) 13:21:25gnuplot> set xrange [-10:110]
gnuplot> set yrange [-10:110]
gnuplot> set pm3d
gnuplot> splot "den.dat"
とのようにやっているのですがどこが違うのか指摘お願いします
データファイル
http://www1.axfc.net/uploader/File/so/17996.txt
■ このスレッドは過去ログ倉庫に格納されています