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
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
0535名無しさん@お腹いっぱい。
2009/02/04(水) 13:22:47xの値が変わるごとに1行空行を入れなきゃだめ
0536名無しさん@お腹いっぱい。
2009/02/04(水) 13:36:52できました!ありがとうございます!
0537名無しさん@お腹いっぱい。
2009/02/05(木) 22:10:25Windowsのコマンドプロンプトからgnuplotを起動して
pltファイルを実行してグラフを画像化しgnuplot終了。
って感じのバッチファイルを作りたいのですが、コマンドプロンプトからの実行は
可能でしょうか?可能なら例文を教えていただけないでしょうか。
よろしくお願いします。
尚、画像化するまでのpltファイルは完成しております。
0538名無しさん@お腹いっぱい。
2009/02/05(木) 22:19:38いや、そのままコマンドプロンプトから
wgnuplot.exe hoge.plt
ってすればいいと思うけど。
(パスは通ってるとして)
0539名無しさん@お腹いっぱい。
2009/02/05(木) 22:23:16あらかわいい
0540名無しさん@お腹いっぱい。
2009/02/05(木) 22:30:19レスありがとうございます。
そのままpltを続けて書くだけだったんですね。
明日職場へ行って試してみます。
0541名無しさん@お腹いっぱい。
2009/02/06(金) 22:19:09職場で試したらアッサリ動きました。
これで毎日上司への報告がラクになります。
ありがとうございました。
0542名無しさん@お腹いっぱい。
2009/02/09(月) 00:28:47>sh: kpsexpand: command not found
は、もし debian の gnuplot でのことなら依存関係のバグみたい。
ttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447324
tetex-bin をインストールしたら上記のメッセージが出なくなった。
># aptitude install tetex-bin
0543名無しさん@お腹いっぱい。
2009/02/11(水) 00:38:12プロットするグラフ画像に最大値、最小値、平均値を表示したいのですが、
gnuplotだけで可能でしょうか?
0544名無しさん@お腹いっぱい。
2009/02/11(水) 01:41:48データから最大値・最小値・平均値を抜き出すのをgnuplotだけでやりたいっていうんなら無理。
0545名無しさん@お腹いっぱい。
2009/02/11(水) 18:02:180546名無しさん@お腹いっぱい。
2009/02/11(水) 20:24:59f(x) = ( sin(M*pi*x)/sin(pi*x) ) **2
M : 10とか20とかの整数
という関数f(x)をプロットしたいのですが、
上手く行きません。
具体的には、 x = n ( n:整数 )にデルタ関数のような鋭いピークを持つ関数なのですが、
nによりピークの高さが違います。(極限をとるとnによらずf(n)→M^2になるはず)
アドバイスお願いします
0547名無しさん@お腹いっぱい。
2009/02/11(水) 21:21:49set sample 1000
とかしてプロット点ふやしてみ
0549名無しさん@お腹いっぱい。
2009/02/17(火) 10:50:38last modified 31 Aug 2007
System: Linux 2.6.26-1-686
OSはDebian lennyです。
グラフをEPS出力したら文字化けします。
日本語はまったく使っていないのですが、対処法がわかれば教えてください。
0550名無しさん@お腹いっぱい。
2009/02/18(水) 01:48:310551名無しさん@お腹いっぱい。
2009/02/24(火) 02:01:28/|/|/|/|/| ←このように連続的なグラフになってしまいます。
実際には
///// ←こういった離散的なグラフになると思うのですが、
どのようにすればそのようなグラフを描けるでしょうか?
0552549
2009/02/24(火) 02:28:32調べたら、gnuplotの問題ではありませんでした。しかも、文字化けですらなかったようです。
シェルスクリプトで実行していたのですが、gnuplotでグラフをeps出力した後、
eps2epsをしたところ、文字が歪んでいたようです。
失礼しました。
0553549
2009/02/24(火) 02:32:27ついでなので、答えてみる。
gnuplot> f(x) = 8*x - floor(8*x)
gnuplot> set sample 100000
gnuplot> set xrange[-1:1]
gnuplot> plot f(x) w d
0554名無しさん@お腹いっぱい。(551)
2009/02/24(火) 09:52:33ありがとうございました。
0555名無しさん@お腹いっぱい。
2009/02/25(水) 16:52:180556名無しさん@お腹いっぱい。
2009/02/26(木) 14:53:53gp424win32x11.zip
gp424win32.zip
これらは何が違うのでしょうか・・
Vistaでgp424win32.zipを使用してみると、Helpファイルを見ることができず、日本語化にも失敗してしまいました
Vistaでは日本語化は不可能でしょうか・・?
0557556
2009/02/26(木) 15:37:57しかしmnuファイルを読み込めていないのか、依然日本語化は出来ないです
どうかご教示お願いします
0558551
2009/02/26(木) 18:03:50b(x) = 3*x - floor(3*x)
c(x) = 4*x - floor(4*x)
d(x) = 8*x - floor(8*x)
上のa〜d(x)をそれぞれ一つずつプロットするなら
///// ←正しいグラフになるのですが、
a〜d(x)をすべて同じ座標にプロットすると
/|/|/|/|/| ←b(x),c(x)がこのようになってしまいます。
a〜d(x)をすべて/////この形で描きたいのですが、どのようにすればよいでしょうか?
このコマンドを打ち込みました。
a(x) = 2*x - floor(2*x)
b(x) = 3*x - floor(3*x)
c(x) = 4*x - floor(4*x)
d(x) = 8*x - floor(8*x)
set sample 100000
plot [0:1][0:1] a(x) t "g_2(V)", b(x) t "g_3(V)", c(x) t "g_4(V)", d(x) t "g_8(V)" w d
0559名無しさん@お腹いっぱい。
2009/02/26(木) 18:17:14ちょっとはヘルプとか読めば?
0560名無しさん@お腹いっぱい。
2009/02/28(土) 03:26:38デフォルトの関数表示がwith linesになってるだろうからそれを…
0561名無しさん@お腹いっぱい。
2009/02/28(土) 23:10:10plot [0:1][0:1] a(x) t "g_2(V)" w d , b(x) t "g_3(V)" w d , c(x) t "g_4(V)" w d , d(x) t "g_8(V)" w d
では?
a(x), b(x), c(x) が /|/|/|/|/| になっているのは、
with dots がかかっていないからだと思います。
a(x) は ///// になっているように見えますが、c(x)で上書きされているので
見た目はうまく表示できているように見えているのだと思います。
0562556
2009/02/28(土) 23:14:11Vistaで日本語化出来た方はいらっしゃいますか?
0563名無しさん@お腹いっぱい。
2009/03/01(日) 04:48:15Windows 使いではないのですが憶測で書きます。
gp424win32.zip はネイテブ版で gp424win32x11.zip は Cygwin 版なのでは?
mnu をコピーした後、フォント設定をしましたか?
お役にたてなかったらごめんなさい。
0564名無しさん@お腹いっぱい。
2009/03/01(日) 10:18:35レスありがとうございます
なるほど、ではやはりVistaでもgp424win32.zipで大丈夫そうですね・・
フォント設定はしました
図を出すだけなら日本語は使えます
しかしXPの時と同様にmnuファイルを置き換えてもメニューの日本語化は出来ません・・
0565551
2009/03/01(日) 13:21:00ありがとうございます。
0566549
2009/03/02(月) 21:46:23>565は「ヘルプ嫁」と言っていた人にも耳を傾けるべし
0567名無しさん@お腹いっぱい。
2009/03/02(月) 23:12:10gnuplot> help style
とすると、バージョンにもよると思いますが、
...
以下は、x を点で描画し、x**2 をデフォルトの方式で描画します:
plot x w points, x**2
以下は、tan(x) を関数のデフォルトの方式で、"data.1" を折れ線で描画します:
plot [ ] [-2:5] tan(x), 'data.1' with l
...
みたいなのが出てくるので、書式をw d と指定しないところは
デフォルトの方式で書かれるみたいです。
デフォルトの書式は、例えば、
gnuplot> show style
とすると、
Data are plotted with points
Functions are plotted with lines
Fill style is empty with border
と出力されるので、確認することができます。
というわけで、>565 さんの「help を参照してね」
というのは、有意義な提案ですよ。
っていう意味。
0568名無しさん@お腹いっぱい。
2009/03/04(水) 20:46:020569名無しさん@お腹いっぱい。
2009/03/14(土) 10:44:07plotされたグラフの線がスムーズではなく、
非常に汚く見えます。
これをフォントにアンチエイリアスをかけた後のように
スムーズにできないでしょうか?
0570名無しさん@お腹いっぱい。
2009/03/14(土) 12:19:47set sample 3000
とかやってみてはいかがでしょう?
0571名無しさん@お腹いっぱい。
2009/03/14(土) 15:25:52wxtとx11の違いみたいな。
0572名無しさん@お腹いっぱい。
2009/03/14(土) 15:57:140573569
2009/03/14(土) 18:12:40> wxtとx11の違いみたいな。
ヒントありがとうございました。
自分でコンパイルしてwxtがつかえるようになりました。
正直、terminal=x11でのグラフは汚すぎて見れなかったのですが、
やっと普通になりました。
0574名無しさん@お腹いっぱい。
2009/03/14(土) 20:16:45無設定だとlineの色は赤、緑、青の順になっていると思いますが、
これをデフォルトで「青、赤、緑」としたいのですが、
どのように設定すれば良いですか?
例えば、.gnuplot などに記述できる設定があると嬉しいです。
0575名無しさん@お腹いっぱい。
2009/03/16(月) 00:33:42http://www.google.co.jp/search?q=gnuplot+linetype
0576名無しさん@お腹いっぱい。
2009/03/16(月) 03:04:34linetype も linecolor も知っていますが、
デフォルトの設定を上書きする -- 例えば .gnuplot などに記述でき、
自動的に読み込まれる -- 設定を探しています。
紹介されている方法は、plot毎にlinestyleを指定しなければならず、
なんとかこれを回避したいわけです。
そういった設定方法はありますか?
0577576
2009/03/16(月) 03:51:19本当は良くないのですが、一時的な処置です。
>>576のやり方を知っている方がいれば教えてください。
0578名無しさん@お腹いっぱい。
2009/03/16(月) 04:23:24set style line 1 lc rgb 'blue'
set style line 2 lc rgb 'red'
set style line 3 lc rgb 'green'
set style increment user
0579576
2009/03/16(月) 14:20:22それでうまくいきました。
set style increment user
がないと効果がないのですね。
Syntax:
set style increment {default|userstyles}
show style increment
gnuplot> show style increment
Plot lines increment over user-defined line styles rather than default line types
('increment' は意味があまり合っていないような気がしますが、
そうなってるんですから仕方ないですね。)
ありがとうございました。
0580名無しさん@お腹いっぱい。
2009/03/19(木) 10:23:31と思ったら、linecolorの指定ってv4.2からなのか・・・orz
0581576
2009/03/27(金) 13:48:18(次スレのテンプレに追加希望) を見てたら、CVS HEAD
が欲しくなったので、CVSのをコンパイルして使ってみました。
今自分のなかで gnuplot が熱くなりかけてます。
やっとマニュアルをちゃんと読む気になりました。
0582576
2009/03/27(金) 13:51:10ttp://skuld.bmsc.washington.edu/~merritt/gnuplot/canvas_demos/index.html
の方がいいかも。個人的にこっちのフォーマットの方が好きです。
0583576
2009/03/28(土) 09:13:33今のところ、マウスで特定の line をトラッキングする機能
(例えば、ttp://www.google.com/finance?q=spy のフラッシュが
実装しているような機能) は gnuplot にはないようですね。
誰か、このような機能を実装した方、もしくは同様のパッチを
持っている方はいませんか?
0584名無しさん@お腹いっぱい。
2009/03/28(土) 13:44:57データ用のPC変えようと思ってるんだが・・
0585576
2009/03/28(土) 13:59:42私はVistaを触ったことすらないですが、
明らかに>>564さんはgnuplotをVista上で動かしてますね。
普通に動くのではないでしょうか。
0586名無しさん@お腹いっぱい。
2009/04/04(土) 16:41:29派生gnuplot?
0587名無しさん@お腹いっぱい。
2009/04/04(土) 18:51:410588名無しさん@お腹いっぱい。
2009/04/06(月) 20:58:010589名無しさん@お腹いっぱい。
2009/04/09(木) 08:29:21プロットのマーカーを変えるときは
エディタで開いて置換しているのですが、
gnuplot のコマンドでできますか?
OS は UNIX ではなく Windows Vista で、
gnuplot はたぶん最近のバージョンです。
0590名無しさん@お腹いっぱい。
2009/04/09(木) 15:25:04左揃えにする方法はありますか?
0591名無しさん@お腹いっぱい。
2009/04/09(木) 16:06:420592590
2009/04/09(木) 17:15:58ありがとうございます。
残念ながら、それだと線とタイトルが入れ替わるだけで、タイトルは右揃えのままでした・・・
set keyで色々設定できるんですね。
widthとかspacingとかsamplenなどは便利そう。
0593名無しさん@お腹いっぱい。
2009/04/11(土) 14:12:26メニューからではなく、スクリプトの中で実行したいのですが。
0594名無しさん@お腹いっぱい。
2009/04/12(日) 06:40:23lineplotで前行の同コラムのデータの値が
現行のデータの値よりも小さい場合は別の線の色を
使いたいのですが、なにかうまい方法はありませんか?
例えば、
1 10
2 20
3 30
4 20
5 0
のデータがあったと仮定して、
1→2, 2→3 は線の色を黒、3→4, 4→5は色を赤に
するにはどうすれば良いですか?
0595名無しさん@お腹いっぱい。
2009/04/13(月) 05:00:29$ cat tmp
#!/usr/bin/gnuplot
plot "file"
pause -1
これをシェルスクリプトみたいに、plotするファイルを引数で./tmp fileと与えて、plot "$1"という感じで実行できないでしょうか?
0596名無しさん@お腹いっぱい。
2009/04/13(月) 05:47:57自己解決しました。
ここで聞くより、自分で色々試した方が問題が早く解決するみたい。
>>595
「plotするファイル」の意味がわからないけど、
#!/usr/bin/gnuplot
load "$1"
じゃだめなの?
0597595
2009/04/13(月) 07:27:14わかりにくい説明ですいません。>>595の例では
$ cat tmp1
#!/usr/bin/gnuplot
plot "file"
pause -1
$ ./tmp1
というのを
$ cat tmp2
#!/usr/bin/gnuplot
plot "$1"
pause -1
$ ./tmp2 file
というふうに、シェルスクリプトの引数と同じ感じで出来たら便利かなと。
gnuplotに実行させる内容をあらかじめシェル等で生成しておき、
gnuplotにはヒアドキュメントで読ませるだけ、という方法もよく使われるようですが、
それだとpause -1がうまく効かなくて困るんですよね・・・
(-persistオプションは個人的に好みじゃないので)
ちょっと見るのにいちいちpsやpngなどに出力するのは面倒なので、
出来る限りgnuplotの表示だけで済ませたいです。
0598名無しさん@お腹いっぱい。
2009/04/13(月) 14:23:11もっとうまいやり方もあると思うけど。
0599名無しさん@お腹いっぱい。
2009/04/13(月) 15:49:080600名無しさん@お腹いっぱい。
2009/04/13(月) 15:56:59要求条件にも寄るけど
0601名無しさん@お腹いっぱい。
2009/04/13(月) 19:23:47ここから先はgnuplot関係ないから、わかんなきゃシェルスクリプトのスレかくだ質で聞いた方がいいよ
0602名無しさん@お腹いっぱい。
2009/04/14(火) 01:09:05しくった、新しいPC買ったのに駄目駄目だ
英語力が問題になるとは
0603595
2009/04/14(火) 14:44:07なるほど。素直にスクリプトを書くことにします。
皆さんどうもありがとうございました。
ちなみに>>597の
>それだとpause -1がうまく効かなくて困るんですよね・・・
というのは私の勘違いでした。pause -1が効かないのは、以下のように
標準入力リダイレクトやヒアドキュメントを使う場合でした。
何でかはちゃんと理解してないですが・・・
$ cat tmp1
plot sin(x)
pause -1
$ gnuplot < tmp1
$ cat tmp2
#!/bin/sh
gnuplot <<EOF
plot sin(x)
pause -1
EOF
$ ./tmp2
なお、gnuplot tmp1だとpause -1が効きます。
こちらはgnuplot上でload "tmp1"とするのと、おそらく等価なのでしょうね。
0604名無しさん@お腹いっぱい。
2009/04/14(火) 14:58:09何を困っているのか理解せずに投下
#!/bin/sh
cat <<EOF > tmp1
plot sin(x)
pause -1
EOF
gnuplot tmp1
rm tmp1
普通にpause -1は効いているようだけど。
0605595
2009/04/14(火) 15:08:52そうなんですか・・・自分の環境が変なのかもしれませんね。
バージョンは4.0 patchlevel 0、OSはRHEL4WSです。
少し古めの環境といえるかも
0606604
2009/04/14(火) 21:48:56って話にはならないと思うけど。
0607名無しさん@お腹いっぱい。
2009/04/15(水) 11:16:14その方法は単にgnuplotにスクリプトファイルを渡してるだけであって
>>603の言う「標準入力リダイレクトやヒアドキュメントを使う場合」
じゃないんだが
0608名無しさん@お腹いっぱい。
2009/04/17(金) 20:37:070609>>608
2009/04/17(金) 20:40:20gnuplotってタイトルやラベルに日本語使えますか?
0610名無しさん@お腹いっぱい。
2009/04/18(土) 01:32:170611名無しさん@お腹いっぱい。
2009/04/18(土) 19:47:22ありがとうございます
0612名無しさん@お腹いっぱい。
2009/04/19(日) 04:23:20絶対に後悔はしません。
作業効率もはるかにアップします。
0613名無しさん@お腹いっぱい。
2009/04/19(日) 16:57:59自分はwindowsからlinuxにログインしてXを飛ばしてますが
0614名無しさん@お腹いっぱい。
2009/04/20(月) 03:38:30wxtが使えないのがなぁ
0615名無しさん@お腹いっぱい。
2009/04/20(月) 15:48:31gp425.win32.zipを解凍後、日本語化キットを入れてみたのですが、やはり日本語化できません
WinHlp32.exeも入れてみたのですが、ヘルプすら表示できないです
vistaではやはり無理なのでしょうか?
0616名無しさん@お腹いっぱい。
2009/04/20(月) 18:17:55wxtって何?と思ったら、4.2以降からのデフォtermなのね
そんなにいいものなの?自分4.0なので・・・早くうpだてしなきゃ
0617名無しさん@お腹いっぱい。
2009/04/20(月) 18:35:580618名無しさん@お腹いっぱい。
2009/04/20(月) 19:14:380619名無しさん@お腹いっぱい。
2009/04/23(木) 01:06:51どなたか教えてください
0620名無しさん@お腹いっぱい。
2009/04/23(木) 11:35:470621名無しさん@お腹いっぱい。
2009/04/24(金) 08:29:25plot [0.01:100] x
0622名無しさん@お腹いっぱい。
2009/05/04(月) 22:24:21何か良いアイディアはないでしょうか?
set xtics 何とか
set x2tics 何とか
set grid xtics x2tics
だと両方共破線で書かれてしまいます。
0623名無しさん@お腹いっぱい。
2009/05/06(水) 09:07:250624gnuplotメモの筆者
2009/05/12(火) 11:28:27ttp://ayapin.film.s.dendai.ac.jp/cgi-bin/trees.cgi
【2035】MS-Windows Vista での日本語化
ついて
>wgnuplot-ja.mnu を UTF-8 とかにすればうまくいく、とか
>ではないかと予想しているのですが、どなたか情報をお持ちでしたらよろし
>くお願い致します。
書かれています。wgnuplot-ja.mnuはテキストファイルなので,
適切なテキストエディタを使えばUTF-8に変換可能だと思いますので
どなたか試していただけませんか。
私もVistaもってないもので^^;
0625名無しさん@お腹いっぱい。
2009/05/13(水) 06:07:58板違い
0626名無しさん@お腹いっぱい。
2009/05/13(水) 08:45:50過疎だから、問題なし。
0627名無しさん@お腹いっぱい。
2009/05/13(水) 18:53:590628gnuplotメモの筆者
2009/05/15(金) 09:32:37C++ interface to Gnuplot via POSIX pipes
http://code.google.com/p/gnuplot-cpp/
だそうです。Windows版で使うにはCVS版(gnuplot4.3)のgnuplot.exeを
おそらくつかう必要がありそうです。
Downloadsには何もなく,SourceからSVNで
引っ張ってくる必要があります。
Unix屋さんにはなじみ深いでしょうが,Windows ユーザーにはなじみないかもですね。
以下を参照ください
WindowsでSubversionを使う:TortoiseSVNでバージョン管理
http://sourceforge.jp/magazine/08/08/29/0550232
0629名無しさん@お腹いっぱい。
2009/05/16(土) 10:53:30んなこたーない
0630名無しさん@お腹いっぱい。
2009/05/16(土) 11:32:080631名無しさん@お腹いっぱい。
2009/05/16(土) 15:05:540632名無しさん@お腹いっぱい。
2009/05/16(土) 22:14:03半径1の球を描きたいのですが、条件として、表面を特定の色で塗りつぶしたいのです。
0633gnuplotメモの筆者
2009/05/18(月) 16:26:37そうかも知れませんが,
>MS-Windows Vista だと今までの日本語化キット (wgnuplot-ja.mnu)
で日本語化できない、という意見がいくつか上がっています (556, 557, 562,
564, 602, 615)。
(556, 557, 562, 564, 602, 615)はここの板のスレの番号です。
日本語化キット を作成された方の発言なので,ここの方でVISTA
持っているかたなら試してみることができるかも
知れないなあというおせっかいおじさんの言葉だからまあ,
そんなに邪険に言わなくてもとおじさんは思うのでした。
■ このスレッドは過去ログ倉庫に格納されています