gnuplot を使おう。 その2
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。
2006/11/28(火) 22:10:25gnuplot 公式 Web ページ
http://www.gnuplot.info/
前スレ
gnuplot を使おう。
http://pc8.2ch.net/test/read.cgi/unix/1002453983/l50
0830名無しさん@お腹いっぱい。
2010/06/07(月) 09:11:58help fitから
fit {<ranges>} <expression>
'<datafile>' {datafile-modifiers}
via '<parameter file>' | <var1>{,<var2>,...}
範囲 (xrange,yrange) は、当てはめられるデータ点を一時的に制限するのに 使うことができ、その範囲を超えたデータは全て無視されます。その書式は plot コマンド同様
[{dummy_variable=}{<min>}{:<max>}],
です。以下参照: plot ranges。
fit {<ranges>} <expression>
'<datafile>' {datafile-modifiers}
via '<parameter file>' | <var1>{,<var2>,...}
範囲 (xrange,yrange) は、当てはめられるデータ点を一時的に制限するのに
使うことができ、その範囲を超えたデータは全て無視されます。
0831名無しさん@お腹いっぱい。
2010/06/07(月) 14:43:41すいません。うっかり変な状態で書き込んだようです<m(__)m>
「です。以下参照: plot ranges。」
までであとは無視してください。
0833名無しさん@お腹いっぱい。
2010/06/18(金) 15:47:53エクセルでは表から第二軸を設定して作れたのですが、このソフトではかわかりません。
どうか教えてください。
0834名無しさん@お腹いっぱい。
2010/06/18(金) 15:57:100835名無しさん@お腹いっぱい。
2010/06/18(金) 18:30:32http://livedoor.2.blogimg.jp/agomesu/imgs/5/8/58ff257e.jpg
ばらまこうぜ!
0836名無しさん@お腹いっぱい。
2010/06/19(土) 03:25:04解決したらどう解決したかを書くのが正しい流儀です
0837名無しさん@お腹いっぱい。
2010/06/25(金) 17:13:36例えばfile1の一行目をx軸、file2の一行目をy軸という感じです。
0838名無しさん@お腹いっぱい。
2010/06/25(金) 22:02:04ファイルの行数が一致しないときどうしたらいいか分からないから、
そのへんの処置を含めてperlなりrubyなりで下処理したデータファイルを作ってから、
gnuplotに渡せばいいんじゃないかな。
0839名無しさん@お腹いっぱい。
2010/06/26(土) 18:17:400840名無しさん@お腹いっぱい。
2010/07/01(木) 21:33:35表作れました。
0841名無しさん@お腹いっぱい。
2010/07/18(日) 07:02:58このmacportsよりgnuplot @4.4.0_0 (active)をインストールし、
簡単な関数をplotしてみたのですが何もプレビューされませんでした。
macportsからgnuplotをインストールした時に、同時に
aquaterm @1.0.1_5 (active)
もインストールされていたので、これで描画出来ると思っていたのですが
色々検索してみて、AquaTerm1.0.1.dmgが必要だと分かりました。
早速これをインストールし、plotしてみると、今度はAquaTerm.appが立ち上がるのですが
無反応で、gnuplotの方も無反応となってしまいます。そこでAquaTerm.appを強制終了してみますと、
gnuplot> plot x
AquaTerm warning: Connection to display was lost,
plot commands will be discarded until a new plot is started.
このようなエラーを返してきました。
このエラーに関して色々検索してみましたが、海外のフォーラムに全く同じ症状の書き込みがあったくらいで
(ttp://old.nabble.com/Problem-with-gnuplot-Aquaterm-on-MacOs-Snow-Leopard-td26242769.html)
非常に困っております。ブログでインストールの仕方等載せておられる方は多数いらっしゃって、
全く同じ方法でインストールしたのにも関わらずグラフの描画が出来ないというのは一体何が原因なのでしょうか。。。
どなたかアドバイス頂けませんか。
0842名無しさん@お腹いっぱい。
2010/07/18(日) 07:37:47こっちで聞いたほうがいいよ
MacPorts でワクワク UNIX ライフ Part 2
http://pc11.2ch.net/test/read.cgi/mac/1224859317/
0843名無しさん@お腹いっぱい。
2010/07/18(日) 13:38:17分かりました。
失礼しました。
0844名無しさん@お腹いっぱい。
2010/08/12(木) 23:35:53fnorm=`echo "print sqrt( ${fsqr}**2 + ${fsqz}**2 + ${fsql}**2 )" | gnuplot`
とやったら、fnormに値が入っていなかった。
fnorm=`echo "print sqrt( ${fsqr}**2 + ${fsqz}**2 + ${fsql}**2 )" | gnuplot 2>&1`
とやったら、fnormに値が入っていた。
これって、gnuplotの出力が標準出力ではなく『標準エラー出力』になっているということだよね?
なぜエラー出力?
0845名無しさん@お腹いっぱい。
2010/08/13(金) 13:11:290846名無しさん@お腹いっぱい。
2010/08/13(金) 18:14:34いや、そういうことを言っているのではなくてですね…
『gnuplotの出力がなぜ標準出力ではないのか』ということ。
ちなみにbcは当然知っていますが、gnuplot電卓の方が直感的で使いやすい気がします。
bcは浮動小数点の指数部を示すEが大文字でないとダメだとか、関数名は小文字でないとダメだとかで面倒。
使う関数がsqrtくらいなら
rnum=3.0e+2
echo "sqrt(${rnum})" | tr e E | bc -l
でいいけど、
e(${rnum})
はどうするんだろう?
0847名無しさん@お腹いっぱい。
2010/08/13(金) 20:04:36>『gnuplotの出力がなぜ標準出力ではないのか』ということ。
ほんとだ。gnuplotは gnuplot> のところが標準出力で、それ以外が標準エラー出力なのか。
>bcは浮動小数点の指数部を示すEが大文字でないとダメだとか
そうだっけ?というか 3.0E+2 ってやったら 5.09 って返ってきてよく分からん・・・
bcはまさに電卓を起動してるって感じのシンプルさがいいんだけど、
たとえば 0.2^(1/3) という演算がそのままにはできないのがなぁ。
$ bc --version
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
$ echo "print 0.2**(1./3)" | gnuplot
0.584803547642573
$ echo $(( 0.2**(1./3) ))
0.58480354764257325
$ echo "0.2**(1./3)" | bc
(standard_in) 1: parse error
$ echo "e(l(0.2)*(1./3))" | bc
.58480354764257321310
bcは (式1)^(式2) の2番目の式が浮動小数点だと整数に切り上げされちゃうし
bcは累乗が**ではなく^なのもなぁ。ただ、ベッセル関数があるのは嬉しいかも。
0848名無しさん@お腹いっぱい。
2010/08/13(金) 20:07:58$ echo $(( 0.2**(1./3) ))
0849名無しさん@お腹いっぱい。
2010/08/14(土) 00:28:11どうしてもgnuplotでやりたきゃソースいじるしかないんじゃね
0850名無しさん@お腹いっぱい。
2010/08/15(日) 12:12:02「なぜ」については俺も気になるな
普通は逆(プロンプトがstderrで、出力がstdout)のような気がする
0851名無しさん@お腹いっぱい。
2010/08/15(日) 22:10:27いやだから、gnuplotにとっての「出力」ってのはグラフの描画結果だろ。
set output を指定なしで使えばstdoutに出る。 (プロンプトがstdoutってのは意味不明)
で、printのデフォルト出力先はstderr。
set print で指定すればstdoutにも出せるが。
つまり、gnuplotは関数電卓じゃねえってこと。
0852名無しさん@お腹いっぱい。
2010/09/12(日) 11:37:18ソースだけ来てる
0853名無しさん@お腹いっぱい。
2010/09/28(火) 07:31:580854名無しさん@お腹いっぱい。
2010/09/28(火) 21:04:07> * CHANGE depth-sorting of pm3d surfaces now applies jointly to all in the plot
pm3dの隠面処理が賢くなったようだ。
複数の格子で構成された形状でもちゃんと手前の物が手前に表示されてる。
ありがたい。
0855名無しさん@お腹いっぱい。
2010/10/01(金) 17:06:35出たようです。
0856名無しさん@お腹いっぱい。
2010/10/01(金) 19:20:26うん。それで?
0857名無しさん@お腹いっぱい。
2010/10/01(金) 19:34:300858名無しさん@お腹いっぱい。
2010/11/03(水) 19:21:100859名無しさん@お腹いっぱい。
2010/11/03(水) 19:28:20たぶんgnuplotの機能ではなくて
readline(3) ライブラリのことをいっているから
man readline して ~/.inputrc 辺りに適当に書くべし
0860名無しさん@お腹いっぱい。
2010/11/03(水) 20:30:16ありがとうございます。やってみます。
0861名無しさん@お腹いっぱい。
2010/11/19(金) 15:55:52・格子点を打つ(x,y∈整数のとき)
・x軸が時間なので矢印にする
・グラフのラベルを左側に表示する
(set key outsideは右側、あとグラフのサイズが変わってしまう)
ということをしたいのですが、ぐぐっても方法がわかりません
ご指南ください
0862名無しさん@お腹いっぱい。
2010/11/20(土) 20:28:47そういう機能はないと思う。
格子点座標を羅列したファイルを作って plot with points/dots するしかないかな?
> ・x軸が時間なので矢印にする
set arrow from 0,0 to 1,0
とか。
> ・グラフのラベルを左側に表示する
help key か、もう一度ググるかしろ。
0863名無しさん@お腹いっぱい。
2010/11/21(日) 22:20:260864名無しさん@お腹いっぱい。
2010/11/21(日) 22:31:36このままグラフを書くと
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全然詳しくないけど wxt は >800 前後くらいで話題になってる
0866名無しさん@お腹いっぱい。
2010/11/21(日) 23:37:21>>899を参考に.gnuplotを作りset terminal x11と書き込めばなんとかうまくいけました
ありがとうございました
0867名無しさん@お腹いっぱい。
2010/11/23(火) 00:04:560868名無しさん@お腹いっぱい。
2010/11/23(火) 00:17:28なんつーか開発者向け以外のワーニングは
off にする設定ってないのかね…
firefox & とかしたときもうざいっす
0869名無しさん@お腹いっぱい。
2010/11/23(火) 16:51:250870名無しさん@お腹いっぱい。
2010/12/01(水) 23:45:07縦横比が1:1にならない(横長になる)のですが、どうすればちゃんと出来ますか?
0871名無しさん@お腹いっぱい。
2010/12/02(木) 02:26:38OS、gnuplotのバージョン、使ってるterminalを書け
0872名無しさん@お腹いっぱい。
2010/12/13(月) 21:13:57別にデータファイルを用意しないと引けないのでしょうか。
バッチファイルに記述する方法をご存じの方いましたら教えて下さい
gnuplot ver 4.2です
0873名無しさん@お腹いっぱい。
2010/12/13(月) 23:30:460874名無しさん@お腹いっぱい。
2010/12/14(火) 11:53:15ちょっと古い情報になりましが,いまでも使えるでしょう。
http://t16web.lanl.gov/Kawano/gnuplot/parametric.html#Q2
0875名無しさん@お腹いっぱい。
2010/12/14(火) 17:57:04できました!
ありがとうございます
0876名無しさん@お腹いっぱい。
2010/12/24(金) 18:02:10set 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.2だとどうやるんだ?
まさか set style 云々 で変えるしかないのか?
0878名無しさん@お腹いっぱい。
2011/01/01(土) 19:00:520879名無しさん@お腹いっぱい。
2011/01/01(土) 19:34:35windows terminal の機能のことなら、4.2でも普通に使えてたと思うが
0880名無しさん@お腹いっぱい。
2011/01/04(火) 09:13:440881名無しさん@お腹いっぱい。
2011/01/04(火) 09:47:50デフォルトのあのGUI的な描画ウインドウが、MATLAB並のグラフ編集能力持ってたら、いろいろ役立つんだけどな。
0882名無しさん@お腹いっぱい。
2011/01/04(火) 11:39:48それ4.4.xじゃない?
つうか質問するときはOSとかターミナルの種類とか書いてほしいね
0883名無しさん@お腹いっぱい。
2011/01/04(火) 15:07:39あるいは,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超遅レスだけど、自分で調べてて分かったのでついでに。
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あとgridもですが、通常のgridはkeyに隠れてくれるのですが、grid polarだと隠れないですね。
keyを常に優先表示するというのは無理なんでしょうか?
0886名無しさん@お腹いっぱい。
2011/02/05(土) 14:15:27開発版なら set key opaque でできるな
0887名無しさん@お腹いっぱい。
2011/02/05(土) 17:33:25ありがとうございます。4.5の開発版ですね。
CVSで入手するようですが接続できませんでした。また後で試してみます。
cvs [login aborted]: connect to [gnuplot.cvs.sourceforge.net]:2401 failed: Connection refused
0888名無しさん@お腹いっぱい。
2011/02/05(土) 21:15:48sourceforge.netはアタックを受けて今cvs停止中らしい
windowsならバイナリがここらにある
ttp://w32tex.org/index-ja.html
ttp://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/
0889名無しさん@お腹いっぱい。
2011/02/10(木) 07:00:21本家MLによると
https://github.com/gnuplot/gnuplot
で2011-01-25 Ethan A Merritt <merritt@u.washington.edu>の
ソースが手に入ります。
gitですが,gzとzipのアーカイブが手に入るようです。
0891名無しさん@お腹いっぱい。
2011/02/17(木) 12:04:59debianはライセンスの問題があったけど、Windowsも何か問題があるのかな
0892名無しさん@お腹いっぱい。
2011/02/18(金) 08:56:59dgrid3dの後の数字を色々入れたりしたんですがZ値への寄与がXに比べYは確かに小さいとは言えYについての変化は0です。
近似をより正確にする方法などはないでしょうか。
0893名無しさん@お腹いっぱい。
2011/02/18(金) 21:48:57それだけの情報じゃなんとも言えんのだが、
dgrid3dのヘルプを読んで他の補間アルゴリズムを試してみるとか。
まあヘルプにも、もっとましな補間がしたきゃよそでやれとか書いてあるんだけどw
0894名無しさん@お腹いっぱい。
2011/02/27(日) 15:47:34.24gnuplot自体が,GNU ReadlineのGPLとコンパチでないので,BSD editlineしか
バイナリ配布では組み込めない。Windows で動くBSD Editlineはないので
あきらめるしか手がない。
また,gnuplot ならともかく独自コンソールのwgnuplotにはもしWindows版
Editlineがあっても組み込めるか怪しい。
0895名無しさん@お腹いっぱい。
2011/03/05(土) 05:21:25.10http://old.nabble.com/Planned-release-of-version-4.4.3-to31046629.html
0896名無しさん@お腹いっぱい。
2011/03/06(日) 03:40:10.86http://sourceforge.net/projects/gnuplot/files/gnuplot/4.4.3/
0897名無しさん@お腹いっぱい。
2011/03/07(月) 16:59:37.85http://sourceforge.net/projects/gnuplot/files/gnuplot/4.4.3/
0898名無しさん@お腹いっぱい。
2011/03/09(水) 21:30:01.67> * 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でコマンドラインを起動する方法じゃダメなのか?
0901899
2011/03/16(水) 18:11:53.28gnuplotをまず立ち上げて、コマンドラインでインタラクティブに使うということですか?
zshの補完や履歴を使いたいので、>>899のようなことができればなぁ、と思いお尋ねした次第です。
0902名無しさん@お腹いっぱい。
2011/03/16(水) 21:31:33.420903名無しさん@お腹いっぱい。
2011/03/20(日) 16:05:44.742つの曲線の間を塗りつぶす方法を教えてください。
つまりExcelでいう積み上げ面と散布図を合わせた感じ。
0905名無しさん@お腹いっぱい。
2011/05/15(日) 18:24:13.180906名無しさん@お腹いっぱい。
2011/06/06(月) 12:18:33.31デフォルトでは領域の最左端が始まりになります
目的は棒グラフの横幅の中点と
それに重ねるグラフのサンプリング点のx座標を同期させることです
0907名無しさん@お腹いっぱい。
2011/06/06(月) 14:09:59.14グラフのタイトルにこの値を印字したいのです
0908名無しさん@お腹いっぱい。
2011/06/06(月) 20:29:49.69>>740-741 の応用でできんかな?
0909名無しさん@お腹いっぱい。
2011/06/08(水) 17:53:23.280910名無しさん@お腹いっぱい。
2011/06/11(土) 19:14:49.47まともに機能しないってどういうこと?
とりあえず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.780914名無しさん@お腹いっぱい。
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元のファイルから読み込んで計算して経産結果を別のファイルに書き出すのは、
Pythonか何かでやる。
0916名無しさん@お腹いっぱい。
2011/06/17(金) 20:34:26.170917名無しさん@お腹いっぱい。
2011/06/19(日) 10:53:03.590918名無しさん@お腹いっぱい。
2011/06/21(火) 16:18:27.92何故かset ylabel "hoge"がエラーを吐いて表示されない
普通のx86機にsqeezeとgnuplot4.4入れてやってみると表示される
pngに縦書きを表示させるのに何か必要?
0919名無しさん@お腹いっぱい。
2011/06/21(火) 16:40:16.090920918
2011/06/21(火) 17:15:38.91GDが悪いのかと思っていろいろやってみましたが上記エラーが帰ってくるだけでした
0921名無しさん@お腹いっぱい。
2011/06/21(火) 19:13:43.420922918
2011/06/21(火) 23:00:11.590923名無しさん@お腹いっぱい。
2011/06/22(水) 14:21:14.18pngcairo 使えば?
0924918
2011/06/22(水) 17:37:22.93左端にあったりグラフ中央にあったり原点が狂ってるような感じです
offset screenで-指定してもグラフが左方向に縮むだけでylabelが移動しません
0925819
2011/06/22(水) 17:58:40.8689°ならpngでも表示できました
0926名無しさん@お腹いっぱい。
2011/06/23(木) 02:15:56.25gdImageStringFT
gdやcairoが下請けにしているFreetypeがバクってるのかも。
(FTはFreeTypeのこと)
Freetypeを自分でビルドしてみれば?
0927名無しさん@お腹いっぱい。
2011/06/24(金) 01:26:35.40http://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.150929名無しさん@お腹いっぱい。
2011/06/24(金) 06:57:31.09Debian フォーラムかMLで聞いてみれば。英語になるから敷居は高いと思うけど。
Unixだったらdistributeしてるところで聞くのが一番だと思う。
レス数が900を超えています。1000を超えると表示できなくなるよ。