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
0701名無しさん@お腹いっぱい。
2009/10/13(火) 22:15:380702名無しさん@お腹いっぱい。
2009/10/18(日) 18:51:39gnuplotを使ってもあまり効率が上がらない。
いまいち融通がきかないのが主な理由だと思う。
なるべく早めにmatplotlibに乗り換えようかなと思ってるけど、
誰か、同様にそうした人いる?
0703名無しさん@お腹いっぱい。
2009/10/18(日) 18:58:27俺も長年gnuplot使っててmatplotlibに切り替えようとしたけど挫折して
Gnuplot.pyで頑張ってる
matplotlibは3次元プロットが出来なかった記憶がある
0704名無しさん@お腹いっぱい。
2009/10/18(日) 19:04:03今マニュアル読んでるけど、3次元プロットも普通にできてるよ。
ttp://matplotlib.sourceforge.net/examples/mplot3d/surface3d_demo.html
0705名無しさん@お腹いっぱい。
2009/10/18(日) 20:00:590.98でmplot3dが消えたんだが0.99で復活したみたい
これでeps出力の品質に問題がなければmatplotlibに移行出来るな
0706名無しさん@お腹いっぱい。
2009/10/18(日) 23:36:57matplotlib に移行気味ではあるんだけど
お手軽グラフはついつい gnuplot 使っちゃったりしてます
0707名無しさん@お腹いっぱい。
2009/10/19(月) 07:40:180708704
2009/10/19(月) 16:13:09gnuplot vs matplotlib
2Dプロット系: "できること" で言えば、パイチャートなどがデフォルト
でプロットできる matplotlib の方が上。ちょっと混み入った設定や
アノテーションの加え方も matplotlib の方が楽。
3Dプロット系: 完成度と速度の面で gnuplot の勝ち。
プロットプログラムの再利用性: これは matplotlib の余裕勝ち。
見た目の綺麗さ: matplotlibではデフォでグラフにアンチエイリアスや
ヒンティングがかかっている。gnuplot だと wx 末端を使えば
matplotlibのそれとほとんど同様になるが、他の末端も
含めて評価するとmatplotlibに軍配が上がる。
数式: TeXのフォントがデフォルトで入っていて、インストール直後
LaTeXのインストール無しでも即効TeXと同じように書けるので matplotlib の勝ち。
結論としては、多種多様のプロットを生成したいのであれば、
matplotlibを使った方が長期的に見て効率が良さそう。特に python 使い
であれば、断然 matplotlib の方が有利。それと、gnuplotはあまり融通
が効かず、ちょっとした変更が時に面倒だったり、"できそうでできない"
ことが何気に結構あったりしたが、matplotlibなら、その心配は無さそう。
しかし、「簡単にsin(x)のプロットが作れればいいやー」程度のユーザーなら、
gnuplotでいいと思うし、そういった単純なグラフなら gnuplot の方が簡単。
0709名無しさん@お腹いっぱい。
2009/10/19(月) 16:24:26わかりやすいまとめthx
ちょっと使ってみるわ
0710デフォルトの名無しさん
2009/10/22(木) 21:15:00gnuplotをDLしたんですが
ファイルをドロップしても(メモで適当に作った一行の.datファイル)
1
^
"ファイル名", line 1: invalid command
というエラーが出てしまいます
dosじゃなくてunixのデータのほうがいいのかとか、拡張子とか、空白文字
とかいろいろ変えてみましたがだめでした;;
原因が思い当たる方、教えてください。お願いします><
0711名無しさん@お腹いっぱい。
2009/10/22(木) 21:39:06まず、.datファイルをgnuplot.exeと同じフォルダに入れておく。
次にgnuplot.exeをダブルクリックして起動させる。
後は
plot "hoge.dat"
と入力すればよい 。
0712デフォルトの名無しさん
2009/10/22(木) 23:24:13なるほど。できました。お恥ずかしい・・・
ありがとうございました!!
0713exokTkAfr
2009/10/23(金) 21:55:200714名無しさん@お腹いっぱい。
2009/10/24(土) 20:45:43ところで、2chにMatplotlibのスレッドって無いよね?
誰か立ててくれないかな?
0715名無しさん@お腹いっぱい。
2009/10/24(土) 20:47:310716名無しさん@お腹いっぱい。
2009/10/24(土) 20:50:260717名無しさん@お腹いっぱい。
2009/10/24(土) 20:56:41俺が立てるよ。
今、テンプレつくってるからまっててくれ。
この板よりも、プログラムにする予定。
0718名無しさん@お腹いっぱい。
2009/10/24(土) 20:57:17よろしく。
0719名無しさん@お腹いっぱい。
2009/10/24(土) 21:08:59立てた。
http://pc12.2ch.net/test/read.cgi/tech/1256385982/
0720っむりなんだい!(無理難題)
2009/11/12(木) 13:47:36RGBカラープロットをしたいのですが、手法をお教えいただきたいです!
データが0.000000 〜 1.000000の間で正規化された、以下のような3次元列txtデータがあります。
---------------------------------
0.505624 0.507641 0.154209
0.505599 0.507641 0.148951
0.505577 0.507638 0.143832
0.505555 0.507632 0.138848
・
・
・
---------------------------------
これをgnuplotを用いて3次元グラフにします。
そのときに、コマンド
gnuplot> splot "(ファイル名).txt" w d
とすると、赤いドットで表示されます。
これを、以下の図のような3次元軸 X Y Z を、R G B に対応させて、輝度をつけた表示をしたいと考えています。
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:R...
正規化されているデータは1~256(0~255)に正規化しなおすことももちろん可能なので、
どういったコマンドや手法を用いれば可能なのかご教授いただきたいです。
また、gnuplot環境ではむずかしいとあれば、ほかのグラフ生成フリーソフトなどの手法も教えていただきたいです。
0721名無しさん@お腹いっぱい。
2009/11/12(木) 16:22:200722名無しさん@お腹いっぱい。
2009/11/13(金) 11:41:240723名無しさん@お腹いっぱい。
2009/11/19(木) 21:00:56一番関心したのは出力したsvgデータをinkscapeで編集するための
inkscape用パッチをDLできるURLが紹介されていた事だった
0724名無しさん@お腹いっぱい。
2009/11/20(金) 00:44:300725Mei
2009/11/23(月) 14:55:53今,gnuplotで20列100行の値を描写したいのですが、値の内容が1E-7から7までと値の幅がひろい物で
matrixやimageでプロットしても真っ白で何も描かれませんでした。どうやったら描写されるのでしょうか?
以下のように描写したいのですが。。。描写できないのでしょうか???
http://www-antenna.ee.titech.ac.jp/~hira/study/fdtd/waveguide/f90/wg.gif
よろしくお願いします。
0726名無しさん@お腹いっぱい。
2009/11/24(火) 13:07:42X軸の数字の右端が切れてしまうんですが、どうすれば良いですか
0727名無しさん@お腹いっぱい。
2009/11/28(土) 16:04:00日本語でおk
0728名無しさん@お腹いっぱい。
2009/11/28(土) 16:14:06意地悪で言ってるんじゃなくて、きちんとした回答が欲しいならば
聞き手が理解できる質問をしてください。
0729名無しさん@お腹いっぱい。
2009/11/28(土) 19:01:280730名無しさん@お腹いっぱい。
2009/11/29(日) 02:38:57こちらはわかる人に質問しているので
わからない人に教えてもらおうとは思いません
こちらが細かく説明すると
本当はわかっていない人でも
何か答えられるような気分になるものですが
それは錯覚です
本当にわかっている人はこちらが細かく説明しなくても
十分満足な答えをくれますし、向こうも負担とは思わないものです
そういう人を「エスパー」とか言って揶揄するのは勝手ですが
自分がわかってないことを素直に認めるのも重要だと思います
0731名無しさん@お腹いっぱい。
2009/11/29(日) 11:38:200732名無しさん@お腹いっぱい。
2009/12/03(木) 07:28:390733名無しさん@お腹いっぱい。
2009/12/21(月) 01:51:170734名無しさん@お腹いっぱい。
2009/12/22(火) 16:39:33y軸の途中を省略するようなコマンドってないですか?
0735名無しさん@お腹いっぱい。
2009/12/22(火) 23:23:540736名無しさん@お腹いっぱい。
2009/12/23(水) 00:12:11これは上と下を切ってますよね。
そうではなくて、上と下だけを表示するような感じで。
0737名無しさん@お腹いっぱい。
2009/12/23(水) 20:36:56これを垂直(Z軸に水平)にする方法はありますか?
0738名無しさん@お腹いっぱい。
2010/01/06(水) 15:06:020739名無しさん@お腹いっぱい。
2010/01/06(水) 16:23:590740名無しさん@お腹いっぱい。
2010/01/07(木) 21:41:250741名無しさん@お腹いっぱい。
2010/01/07(木) 22:00:38cond(a,b)=a?b:(0/0)
plot [0:2*pi] cond(1<x && x<5, sin(x))
0742名無しさん@お腹いっぱい。
2010/01/07(木) 22:23:48ありがとうございます
前にもっと簡単な形であったような気がするのですがググっても見つからなかったのでそれを使ってみます
0743名無しさん@お腹いっぱい。
2010/01/15(金) 01:07:06コマンドから点を打つにはどのようにしたらいいですか?
たとえばXYの2Dグラフで
x=1,y=2
x=2,y=3
x=3,y=5
・・・
みたいに点を打っていくような方法を探しています
データファイルを使えば出来るようですが表示させるデータの元が
プログラム(Ruby)から出てくるので出来ればファイルを経由せずに
パイプでコマンドを渡して直接表示させたいです
よろしくお願いします
0744名無しさん@お腹いっぱい。
2010/01/15(金) 07:38:17"gnuplot 標準入力"あたりでググればたくさん見つかると思うけど
0745743
2010/01/15(金) 23:20:09その方法で出来ました。ありがとうございました
replotでデータを入れ直さなければならないのは・・・しょうがないですかね・・・
0746名無しさん@お腹いっぱい。
2010/01/19(火) 17:18:054次元データのcontourってできますか?
陰関数f(x,y,z)=0の球面上にg(x,y,z)の大きさでcontourを描きたいんです.
4次元の離散データでもOKです.
よろしくお願いします!
0747名無しさん@お腹いっぱい。
2010/01/26(火) 09:03:59set size square
set xrange [-1:1]
set yrange [-1:1]
plot [0:2*pi] cos(t),sin(t)
ってやっても表示されるグラフのアスペクト比が1にならないのって仕様ですか?(´・ω・`)
0748名無しさん@お腹いっぱい。
2010/01/26(火) 10:06:220749名無しさん@お腹いっぱい。
2010/01/26(火) 14:52:470750名無しさん@お腹いっぱい。
2010/01/26(火) 19:02:330751名無しさん@お腹いっぱい。
2010/01/27(水) 00:26:300753名無しさん@お腹いっぱい。
2010/01/27(水) 09:39:04epsなら普通に正方形にならね?
俺が普段使う範囲で、size ratioの設定を正しく反映しないのはwindowsくらいだ
同じ画面出力でもwxtなら大丈夫
0754名無しさん@お腹いっぱい。
2010/01/27(水) 10:02:17余白を設定するのは改善されたの?
0755名無しさん@お腹いっぱい。
2010/01/27(水) 12:54:040756名無しさん@お腹いっぱい。
2010/01/28(木) 16:35:27グラフ描画時の背景の色を変更したいのですが、どうすればいいのでしょうか?
三次元グラフの生成時にRGBの色調をつけたグラフをを作るために、
【test.txt】
128.934224 129.448536 39.323250
128.927859 129.448572 37.982612
128.922047 129.447750 36.677253
128.916626 129.446125 35.406244
128.911458 129.443734 34.168681
128.906420 129.440597 32.963684
128.901402 129.436716 31.790396
128.896305 129.432081 30.647983
・
・
のようなファイルを用意し、gnuplotで以下のコマンドを実行しています。
-----------------------------------------------------
gnuplot> rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
gnuplot> splot 'test.txt' using 1:2:3:(rgb($1,$2,$3)) with dots lc rgb variable
-----------------------------------------------------
そのときにgnuplotのグラフ描画時の背景が白色で、ラインが黒色になっているのですが、
これを背景黒色、ラインを白色にできるようなコマンドは何かあるのでしょうか?
ちなみに、gnuplotは前述コマンド列を使用するために【http://gnuplot.sourceforge.net/】よりダウンロードしたversion4.2以降を使っています。
0757名無しさん@お腹いっぱい。
2010/01/28(木) 23:21:37> set border lc rgb "white"
とか。
Windowsで画面表示するだけならGraph-menuで設定できる。
0758名無しさん@お腹いっぱい。
2010/01/30(土) 09:07:440759名無しさん@お腹いっぱい。
2010/02/03(水) 11:17:18X1 Z(X1,Y1) Z(X1,Y2) Z(X1,Y3)
X2 Z(X2,Y1) Z(X2,Y2) Z(X2,Y3)
X3 Z(X3,Y1) Z(X3,Y2) Z(X3,Y3)
こんなデータを3次元プロットしたいのですが、
gnuplotで直接読み込む方法はないでしょうか?
0760759
2010/02/03(水) 11:22:250761名無しさん@お腹いっぱい。
2010/02/07(日) 06:40:59表示域を何分割するかで指定することはできないでしょうか?
マニュアル等を見ても目盛間隔の絶対値で指定しているものしか
見当たりません、よろしくおねがいします。
0762名無しさん@お腹いっぱい。
2010/02/07(日) 09:29:48xmin = -10
xmax = 10
sect = 4
set xrange [xmin:xmax]
set xtics1.0* (xmax-xmin)/sect
0763名無しさん@お腹いっぱい。
2010/02/07(日) 13:55:57を参考にグラフを作っているのですが、
plot "data.txt" using 1:2:3:4:5 with candlesticks linetype -1
の最後の-1はどういう意味があるんですか?
0764名無しさん@お腹いっぱい。
2010/02/07(日) 18:26:460765名無しさん@お腹いっぱい。
2010/02/07(日) 20:05:53plot sin(x) lt -1
plot sin(x) lt 0
plot sin(x) lt 4
とかやってみればわかる
0766名無しさん@お腹いっぱい。
2010/02/10(水) 08:44:18plot f(x)*100
みたいなプロットができました。
データファイルのプロットについて
plot ("data.txt" using 1:2)*100 とか
plot ("data1.txt" using 1:2)*("data2.txt" using 1:2)
みたいなことはできないでしょうか?
0767名無しさん@お腹いっぱい。
2010/02/10(水) 10:14:240768名無しさん@お腹いっぱい。
2010/02/10(水) 12:02:060769名無しさん@お腹いっぱい。
2010/02/10(水) 17:53:29これは無理
0770名無しさん@お腹いっぱい。
2010/02/22(月) 07:14:37pngターミナルだと透明化がされていないものが生成されてしまいます。
別のマシンではうまくいくので、pngの透明化はサポートされている
のは確認できているのですが、なぜこうなっているのかわかる方は
いらっしゃりませんか?
どうすればpngターミナルでも透明化がされるのでしょう?
0771名無しさん@お腹いっぱい。
2010/02/22(月) 14:13:200772名無しさん@お腹いっぱい。
2010/02/22(月) 15:06:45ありがとう。
それで透明化がされました。
なぜ同じ設定なのに別のマシンでは truecolor なしで
うまくいくのかは不明です。
でも、透明化はできたけど、できあがったグラフの曲線が汚いというか、
アンチエイリアスがかかっていません。
別のマシンでやったり、 wxt でやると綺麗にできあがります。
どうすればpngターミナルで曲線を綺麗に表示させれますか?
0773名無しさん@お腹いっぱい。
2010/02/22(月) 19:00:38>>504
つまり現状では無理
開発版使ってるならpngcairoがあるが
一旦svg出力するか、wxtの表示をツールバーのボタンでクリップボードにコピーして、gimp等に貼り付けるか
0774504
2010/02/23(火) 01:22:57よく読んだら>>504で触れたの忘れて>>700でまた質問とかしてるし
>>772-773
gnuplotでsvg出力したものを綺麗にpngに変換するにはちょこちょこバッドノウハウがあります
とくにtransparent.demにあるような塗りつぶし
http://gnuplot.sourceforge.net/demo_4.3/transparent.2.png
の場合、>>700で書いたように微妙な出来上がりになる事があります
>>772さんが必要であれば後ほどやり方をお教えできますが、
もし余計な手間をかけず一発で変換できる方法が見つかったら教えてください
0775名無しさん@お腹いっぱい。
2010/02/23(火) 14:25:39元々開発版をつかっていましたが、折角なので
今日のCVS HEADをコンパイルして使ってみました。
> 開発版使ってるならpngcairoがあるが
pngcairo で完璧にできました。
ttp://imagepot.net/view/126690226800.png
再度ありがとうございました。
例のマシンでやったときと同じアウトプットなので、そのマシンでは
png==pngcairo ターミナルになっていたのかどうか不思議です。
>>774
Linuxならコンパイルはスムーズに通るはずなので、
>>773さんが言うように開発版で pngcairo を使ってみてはどうでしょう?
0776Zeno ◆5nZQbNmQPs
2010/02/26(金) 16:38:58吾も gnuplot を愛用している。
CVS のソースコードに自分用のパッチを当てて使っている。
君達は gnuplot をどういったプロット(グラフ)を生成する為に活用しているのだね?
0777名無しさん@お腹いっぱい。
2010/02/27(土) 09:12:520778名無しさん@お腹いっぱい。
2010/02/27(土) 09:47:580779名無しさん@お腹いっぱい。
2010/02/27(土) 10:03:18他には、解析的に求めた方程式解の検算を交点で確認したり
微分係数が正しいか接線を引いて確認したりとか
0780名無しさん@お腹いっぱい。
2010/02/27(土) 10:37:25ファイナンス関係のデータをプロットするときにつかってるけどな。
そういうアナリティックスで使用してる人多いんじゃないかな。
0781名無しさん@お腹いっぱい。
2010/02/27(土) 13:28:22関数のカタチを確認したり
ぱぱっと処理したいときだね
最近は見栄えを気にする用途では
Matplotlib に移行してしもた
0782名無しさん@お腹いっぱい。
2010/02/27(土) 17:58:48Matplotlibはtexが普通に使えるからいいよね。
でも、いまだにファイルにデータを出力してgnuplotでやっちゃうな。
プログラム書くのはどうも面倒で。
0783名無しさん@お腹いっぱい。
2010/03/09(火) 17:08:30各データを読み込んですべての円を表示するようなことはできますか?
出来るならgnuplotを覚えようと思ってるのですが
//x座標 y座標 半径r
1 2 3
2 3 4
...
0784名無しさん@お腹いっぱい。
2010/03/09(火) 20:38:380785名無しさん@お腹いっぱい。
2010/03/09(火) 20:49:54ベースになってるforthは気になってた言語でもあるので
これを機に挑戦してみます
0786名無しさん@お腹いっぱい。
2010/03/09(火) 21:20:520787名無しさん@お腹いっぱい。
2010/03/09(火) 22:01:38ウブンツの場合は何もしなくてもできていました。バージョンは同じです
0788名無しさん@お腹いっぱい。
2010/03/09(火) 22:06:14わざわざこのために覚えるほどの価値があるかどうかは知らん
0789名無しさん@お腹いっぱい。
2010/03/09(火) 22:14:52mandriva使ったことないから知らんけど、ソースからコンパイルするとか
余所のディストロのrpm突っ込むとか試してみたら?
英語力があればmandrivaのパッケージメンテナにコンタクトを取るのが一番だけど
0790名無しさん@お腹いっぱい。
2010/03/10(水) 22:38:31そうですか・・
もし分かる方いたらお願いします
0791名無しさん@お腹いっぱい。
2010/03/15(月) 16:08:24Winのデフォルトターミナルがwxtになっとるw
0792名無しさん@お腹いっぱい。
2010/03/18(木) 12:59:040793名無しさん@お腹いっぱい。
2010/03/20(土) 20:07:08これはどういうことなんでしょうか?
ビルドの際の単純なミスと考えたいですが。
0794名無しさん@お腹いっぱい。
2010/03/20(土) 22:39:39リリースノートにもこうある。
> We strongly encourage you to build, test, and package the new cairo-based
> terminals (output modes). These are pngcairo and pdfcairo for output to file,
> and wxt as the default interactive terminal.
開発陣は、各OSの画面出力ドライバをwxtに統一するつもりなんだろ。
そのためのwxWidgets。
ご利益もある。
OSごとの表示の差がなくなるし、見たままのPNG/PDF出力が得られる。
PDF出力はファイルサイズがちょっとアレだが。。
0795名無しさん@お腹いっぱい。
2010/03/21(日) 00:08:17pdftops とか使う?
0796名無しさん@お腹いっぱい。
2010/03/21(日) 01:09:32新ターミナルができたからって旧ターミナルが使えなくなるわけじゃない。
0797名無しさん@お腹いっぱい。
2010/04/04(日) 16:07:55Particularly noteworthy features include:
- smoother graphics based on the pango, cairo, and wxWidgets libraries
New drivers: pngcairo pdfcairo wxt
- client-side interactive display using the HTML 5 "canvas" element
See: http://gnuplot.sourceforge.net/demo_canvas/
- better internationalization, support for UTF-8 character encoding
- support for transparency and alpha-channel image generation and handling.
PNG images can be read in and manipulated as plot elements.
- extended command line syntax, including iteration
e.g.: plot for [i=1:10] foo(i)
plot for [file in "a.dat b.dat c.dat"] file
- new plot styles: circles rgbalpha
0798名無しさん@お腹いっぱい。
2010/04/13(火) 13:16:314.4for windowsでデフォをwindows terminalにしたいなら,
環境変数GNUTERM をwindowsにセットする
他の方法は,コマンドプロンプトでsetとうち
USERPROFILE=C:\Documents and Settings\Tatsu
を探し出します。上の例なら
C:\Documents and Settings\xxxxにgnuplot.iniをつくり,
set terminal windows
と打ちこんで保存します。
カレントディレクトリ(フォルダ)にguplot.iniがあればそちらの設定が
優先されます。
help startup
をよんでください。
いろいろカスタマイズしたいときなど便利です。
0799名無しさん@お腹いっぱい。
2010/04/13(火) 13:28:274.4のWin版バイナリのリリースに関わった者ですが,ミスではありません。
私は,wxtつかないのをデフォにして,wxtつきは差分で配布する意見を
出したのですが意見が通りませんでした。
というわけで,私個人は,798の方法でUSERPROFILEのさすフォルダに
gnuplot.iniを作ってwindowsターミナルをデフォにしてます。
0800名無しさん@お腹いっぱい。
2010/04/14(水) 18:57:48今後の方向としては、OSを問わずにデフォルトターミナルをwxtに統一するつもりなんですね。
0801名無しさん@お腹いっぱい。
2010/04/14(水) 19:14:37plot exp(-x**2) sin(x) title '減衰する波'
■ このスレッドは過去ログ倉庫に格納されています