トップページunix
982コメント298KB

gnuplot を使おう。 その2

■ このスレッドは過去ログ倉庫に格納されています
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
0507名無しさん@お腹いっぱい。2009/01/06(火) 13:15:31
それ以上ややこしいことをやりたかったら
正直 gnuplot じゃなく他の処理系を使うべき

◇ python(numpy)上で処理 して gnuplot.py に渡すなり
matplotlib で別のグラフ化エンジン使うなり
◇ R で全部
◇ (そのほか君の好きなやつを並べる)
05084922009/01/06(火) 13:46:57
>>507
これ以上グチャグチャしてきたらそうします。

結局、>>506のような「gnuplotのshellコマンドからgnuplotへ値を渡す」のは不可能
という理解で正しいのですか?
0509名無しさん@お腹いっぱい。2009/01/06(火) 14:17:24
>>508
シェルスクリプトが書けるんなら、
元のデータから欲しいデータを計算するようなシェルスクリプトを書いて、
plot "< hoge.sh"
とすればプロットできる。
(hoge.shはシェルスクリプトの名前。実行可にして、フルパスで書かないとだめかも)
0510名無しさん@お腹いっぱい。2009/01/06(火) 15:09:28
結局その shell script にいろいろなデータ処理が入ってきて…

ってことでしょ
05114922009/01/06(火) 17:56:05
色々調べましたが、やはり>>508の理解で正しいようですね。
素直にスクリプト書くことにします。
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
>>512
軸上の数字はその点での動径座標の値を示してるんだからその表示で正しい。
0514名無しさん@お腹いっぱい。2009/01/06(火) 19:56:17
>513
だよなぁ。

隣の人にも同じコマンドでプロットしてもらったんだけどだめだった。
最新版のバグなんだろうか。
わけくさらん。
0515名無しさん@お腹いっぱい。2009/01/06(火) 21:04:45
おいおい・・・バグじゃないんだっつーの
極座標表示ではそれが正しいんだよ
0516名無しさん@お腹いっぱい。2009/01/06(火) 21:29:07
http://t16web.lanl.gov/Kawano/gnuplot/polar.html

ここのくだりは間違ってるの?
0517名無しさん@お腹いっぱい。2009/01/06(火) 21:58:36
これはデータがおかしい。
本来極座標表示するべきデータじゃない
0518名無しさん@お腹いっぱい。2009/01/07(水) 16:39:21
じゃ結局set polarで極座標にすると目盛にマイナスを表示することはできなくなるでおk?
0519名無しさん@お腹いっぱい。2009/01/08(木) 03:54:23
自分で数字打てないか
0520名無しさん@お腹いっぱい。2009/01/11(日) 09:39:51
eps出力について質問させてください。

set size square
set xrange [-1:1]
set yrange [-1:1]

でグラフを正方形にしたのですが、出力されるeps形式のファイルをTeXで使用すると、
横長の長方形の画像の左側に正方形の領域が寄ってしまって右がわに余白の領域が生まれてしまいます。

TeXの設定でなく、epsファイル自体の余白なのですが、出力の余白の設定などできますでしょうか?
0521名無しさん@お腹いっぱい。2009/01/11(日) 10:56:02
少なくとも昔の gnuplot では × だね
いまは改善されてるかしらないけど
0522名無しさん@お腹いっぱい。2009/01/11(日) 11:11:31
epsのバウンダリーボックスを直接書き換えるのが一番はやいと思うけど

hoge.epsの6行目
%%BoundingBox: 50 50 410 302
これね
0523名無しさん@お腹いっぱい。2009/01/12(月) 02:34:52
eps2epsで余白切ってもらうな、自分は
0524名無しさん@お腹いっぱい。2009/01/12(月) 19:43:57
set term postscript のオプションでも
バウダリーボックスの設定できなかったっけ?
05255202009/01/12(月) 23:05:44
皆さんありがとうございます。
>>522の方法で解決しました。
0526名無しさん@お腹いっぱい。2009/01/13(火) 09:44:13
BoundingBox
バウンダリーボックス


???
0527名無しさん@お腹いっぱい。2009/01/13(火) 09:55:37
まぁ境界であることに変わりはないんだから許しましょw
0528名無しさん@お腹いっぱい。2009/01/24(土) 13:10:39
保守
0529名無しさん@お腹いっぱい。2009/01/25(日) 02:38:09
目盛りの表記を100倍の表記にしたいんだけど

具体的には
100
1
0.01
1e-04
1e-06
という風に

これはどうすればいいですか?
0530名無しさん@お腹いっぱい。2009/01/25(日) 04:00:01
logじゃだめなの?
0531名無しさん@お腹いっぱい。2009/01/26(月) 17:19:16
ぐにゅー
0532名無しさん@お腹いっぱい。2009/01/27(火) 02:25:35
皆で plus patch を 4系に移植しないか?
0533名無しさん@お腹いっぱい。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:25
3次元カラー表示をしたいのですが上手くいきません

gnuplot> 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:47
>>534
xの値が変わるごとに1行空行を入れなきゃだめ
0536名無しさん@お腹いっぱい。2009/02/04(水) 13:36:52
>>535
できました!ありがとうございます!
0537名無しさん@お腹いっぱい。2009/02/05(木) 22:10:25
Windows版の質問で板違いですが...
Windowsのコマンドプロンプトからgnuplotを起動して
pltファイルを実行してグラフを画像化しgnuplot終了。
って感じのバッチファイルを作りたいのですが、コマンドプロンプトからの実行は
可能でしょうか?可能なら例文を教えていただけないでしょうか。
よろしくお願いします。
尚、画像化するまでのpltファイルは完成しております。
0538名無しさん@お腹いっぱい。2009/02/05(木) 22:19:38
>>537
いや、そのままコマンドプロンプトから
wgnuplot.exe hoge.plt
ってすればいいと思うけど。
(パスは通ってるとして)
0539名無しさん@お腹いっぱい。2009/02/05(木) 22:23:16
>>533
あらかわいい
0540名無しさん@お腹いっぱい。2009/02/05(木) 22:30:19
>>538
レスありがとうございます。
そのままpltを続けて書くだけだったんですね。
明日職場へ行って試してみます。
0541名無しさん@お腹いっぱい。2009/02/06(金) 22:19:09
540です。
職場で試したらアッサリ動きました。
これで毎日上司への報告がラクになります。
ありがとうございました。
0542名無しさん@お腹いっぱい。2009/02/09(月) 00:28:47
>>62

>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
>>543
データから最大値・最小値・平均値を抜き出すのをgnuplotだけでやりたいっていうんなら無理。
0545名無しさん@お腹いっぱい。2009/02/11(水) 18:02:18
自分で見つけて(計算して)ラベルするしかないね
0546名無しさん@お腹いっぱい。2009/02/11(水) 20:24:59

f(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:49
>>546
set sample 1000
とかしてプロット点ふやしてみ
05485462009/02/11(水) 22:06:35
>>547
上手くいきました。ありがとうございます。
0549名無しさん@お腹いっぱい。2009/02/17(火) 10:50:38
Version 4.2 patchlevel 2
last modified 31 Aug 2007
System: Linux 2.6.26-1-686
OSはDebian lennyです。
グラフをEPS出力したら文字化けします。
日本語はまったく使っていないのですが、対処法がわかれば教えてください。
0550名無しさん@お腹いっぱい。2009/02/18(水) 01:48:31
再現性のあるソース出せば良いかもわからんよ
0551名無しさん@お腹いっぱい。2009/02/24(火) 02:01:28
f(x) = 8*x - floor(8*x) をプロットすると
/|/|/|/|/| ←このように連続的なグラフになってしまいます。

実際には
///// ←こういった離散的なグラフになると思うのですが、

どのようにすればそのようなグラフを描けるでしょうか?
05525492009/02/24(火) 02:28:32
>>550
調べたら、gnuplotの問題ではありませんでした。しかも、文字化けですらなかったようです。

シェルスクリプトで実行していたのですが、gnuplotでグラフをeps出力した後、
eps2epsをしたところ、文字が歪んでいたようです。

失礼しました。
05535492009/02/24(火) 02:32:27
>>551
ついでなので、答えてみる。

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
>>553
ありがとうございました。
0555名無しさん@お腹いっぱい。2009/02/25(水) 16:52:18
floorなんて関数あったんだ・・・
0556名無しさん@お腹いっぱい。2009/02/26(木) 14:53:53
最新版について質問です
gp424win32x11.zip
gp424win32.zip
これらは何が違うのでしょうか・・
Vistaでgp424win32.zipを使用してみると、Helpファイルを見ることができず、日本語化にも失敗してしまいました
Vistaでは日本語化は不可能でしょうか・・?
05575562009/02/26(木) 15:37:57
Helpが見れない問題については自己解決しました
しかしmnuファイルを読み込めていないのか、依然日本語化は出来ないです
どうかご教示お願いします
05585512009/02/26(木) 18:03:50
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)

上の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
>>558
ちょっとはヘルプとか読めば?
0560名無しさん@お腹いっぱい。2009/02/28(土) 03:26:38
>>558
デフォルトの関数表示がwith linesになってるだろうからそれを…
0561名無しさん@お腹いっぱい。2009/02/28(土) 23:10:10
>>558
plot [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)で上書きされているので
見た目はうまく表示できているように見えているのだと思います。
05625562009/02/28(土) 23:14:11
どなたかヒント頂けないでしょうか・・
Vistaで日本語化出来た方はいらっしゃいますか?
0563名無しさん@お腹いっぱい。2009/03/01(日) 04:48:15
>>556
Windows 使いではないのですが憶測で書きます。
gp424win32.zip はネイテブ版で gp424win32x11.zip は Cygwin 版なのでは?
mnu をコピーした後、フォント設定をしましたか?
お役にたてなかったらごめんなさい。
0564名無しさん@お腹いっぱい。2009/03/01(日) 10:18:35
>>563
レスありがとうございます
なるほど、ではやはりVistaでもgp424win32.zipで大丈夫そうですね・・

フォント設定はしました
図を出すだけなら日本語は使えます
しかしXPの時と同様にmnuファイルを置き換えてもメニューの日本語化は出来ません・・
05655512009/03/01(日) 13:21:00
>>560,561
ありがとうございます。
05665492009/03/02(月) 21:46:23
これほど応用が効かない人っているんですね。
>565は「ヘルプ嫁」と言っていた人にも耳を傾けるべし
0567名無しさん@お腹いっぱい。2009/03/02(月) 23:12:10
>>566 を訳すと

gnuplot> 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:02
にほんごでおk
0569名無しさん@お腹いっぱい。2009/03/14(土) 10:44:07
gnuplotを入れてみたんですが、
plotされたグラフの線がスムーズではなく、
非常に汚く見えます。

これをフォントにアンチエイリアスをかけた後のように
スムーズにできないでしょうか?
0570名無しさん@お腹いっぱい。2009/03/14(土) 12:19:47
アンチエイリアスの前に
set sample 3000
とかやってみてはいかがでしょう?
0571名無しさん@お腹いっぱい。2009/03/14(土) 15:25:52
そういう問題じゃないだろ。
wxtとx11の違いみたいな。
0572名無しさん@お腹いっぱい。2009/03/14(土) 15:57:14
set term postscript
05735692009/03/14(土) 18:12:40
>>571
> wxtとx11の違いみたいな。

ヒントありがとうございました。
自分でコンパイルしてwxtがつかえるようになりました。
正直、terminal=x11でのグラフは汚すぎて見れなかったのですが、
やっと普通になりました。
0574名無しさん@お腹いっぱい。2009/03/14(土) 20:16:45
度々すみません。
無設定だとlineの色は赤、緑、青の順になっていると思いますが、
これをデフォルトで「青、赤、緑」としたいのですが、
どのように設定すれば良いですか?

例えば、.gnuplot などに記述できる設定があると嬉しいです。
0575名無しさん@お腹いっぱい。2009/03/16(月) 00:33:42
>>574
http://www.google.co.jp/search?q=gnuplot+linetype
0576名無しさん@お腹いっぱい。2009/03/16(月) 03:04:34
>>575
linetype も linecolor も知っていますが、
デフォルトの設定を上書きする -- 例えば .gnuplot などに記述でき、
自動的に読み込まれる -- 設定を探しています。

紹介されている方法は、plot毎にlinestyleを指定しなければならず、
なんとかこれを回避したいわけです。
そういった設定方法はありますか?
05775762009/03/16(月) 03:51:19
取り敢えずgnuplotのCソースレベルで直しておきました。
本当は良くないのですが、一時的な処置です。

>>576のやり方を知っている方がいれば教えてください。
0578名無しさん@お腹いっぱい。2009/03/16(月) 04:23:24
>>576
set style line 1 lc rgb 'blue'
set style line 2 lc rgb 'red'
set style line 3 lc rgb 'green'
set style increment user
05795762009/03/16(月) 14:20:22
>>578
それでうまくいきました。
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
>>578をやってみたがうまくいかん
と思ったら、linecolorの指定ってv4.2からなのか・・・orz
05815762009/03/27(金) 13:48:18
http://gnuplot.sourceforge.net/demo_4.3/
(次スレのテンプレに追加希望) を見てたら、CVS HEAD
が欲しくなったので、CVSのをコンパイルして使ってみました。

今自分のなかで gnuplot が熱くなりかけてます。
やっとマニュアルをちゃんと読む気になりました。
05825762009/03/27(金) 13:51:10
テンプレのには
ttp://skuld.bmsc.washington.edu/~merritt/gnuplot/canvas_demos/index.html
の方がいいかも。個人的にこっちのフォーマットの方が好きです。
05835762009/03/28(土) 09:13:33
一応 gnuplot 4.3 のマニュアルをチェックしてみましたが、
今のところ、マウスで特定の line をトラッキングする機能
(例えば、ttp://www.google.com/finance?q=spy のフラッシュが
実装しているような機能) は gnuplot にはないようですね。

誰か、このような機能を実装した方、もしくは同様のパッチを
持っている方はいませんか?
0584名無しさん@お腹いっぱい。2009/03/28(土) 13:44:57
これってVistaに対応してる?
データ用のPC変えようと思ってるんだが・・
05855762009/03/28(土) 13:59:42
>>584
私はVistaを触ったことすらないですが、
明らかに>>564さんはgnuplotをVista上で動かしてますね。
普通に動くのではないでしょうか。
0586名無しさん@お腹いっぱい。2009/04/04(土) 16:41:29
CVS HEADって何すか?
派生gnuplot?
0587名無しさん@お腹いっぱい。2009/04/04(土) 18:51:41
CVS で取ってこれる最新版のこと。
0588名無しさん@お腹いっぱい。2009/04/06(月) 20:58:01
thx
0589名無しさん@お腹いっぱい。2009/04/09(木) 08:29:21
TeX の eepic で出力しています。
プロットのマーカーを変えるときは
エディタで開いて置換しているのですが、
gnuplot のコマンドでできますか?

OS は UNIX ではなく Windows Vista で、
gnuplot はたぶん最近のバージョンです。
0590名無しさん@お腹いっぱい。2009/04/09(木) 15:25:04
グラフの凡例内のタイトルって、デフォルトで右揃えになってますが
左揃えにする方法はありますか?
0591名無しさん@お腹いっぱい。2009/04/09(木) 16:06:42
set key reverse
05925902009/04/09(木) 17:15:58
>>591
ありがとうございます。
残念ながら、それだと線とタイトルが入れ替わるだけで、タイトルは右揃えのままでした・・・

set keyで色々設定できるんですね。
widthとかspacingとかsamplenなどは便利そう。
0593名無しさん@お腹いっぱい。2009/04/11(土) 14:12:26
win版で、プロットしたグラフをクリップボードに取り込むコマンドはないですか?
メニューからではなく、スクリプトの中で実行したいのですが。
0594名無しさん@お腹いっぱい。2009/04/12(日) 06:40:23
質問です。

lineplotで前行の同コラムのデータの値が
現行のデータの値よりも小さい場合は別の線の色を
使いたいのですが、なにかうまい方法はありませんか?

例えば、
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
いつも↓のようなスクリプトを書いて、./tmp と実行しているのですが、
$ cat tmp
#!/usr/bin/gnuplot
plot "file"
pause -1

これをシェルスクリプトみたいに、plotするファイルを引数で./tmp fileと与えて、plot "$1"という感じで実行できないでしょうか?
0596名無しさん@お腹いっぱい。2009/04/13(月) 05:47:57
>>594
自己解決しました。
ここで聞くより、自分で色々試した方が問題が早く解決するみたい。

>>595
「plotするファイル」の意味がわからないけど、
#!/usr/bin/gnuplot
load "$1"
じゃだめなの?
05975952009/04/13(月) 07:27:14
>>596
わかりにくい説明ですいません。>>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
ヒアドキュメントを一回ファイルに落として、そのファイルをgnuplotに読ませるとか。
もっとうまいやり方もあると思うけど。
0599名無しさん@お腹いっぱい。2009/04/13(月) 15:49:08
そこまでやるか?って感じになるけど、expect使えばできそうな。
0600名無しさん@お腹いっぱい。2009/04/13(月) 15:56:59
shell の関数つくってそっちで頑張る方がいいんじゃない?
要求条件にも寄るけど
0601名無しさん@お腹いっぱい。2009/04/13(月) 19:23:47
gnuplot自身には引数を渡す能力はない
ここから先はgnuplot関係ないから、わかんなきゃシェルスクリプトのスレかくだ質で聞いた方がいいよ
0602名無しさん@お腹いっぱい。2009/04/14(火) 01:09:05
もしかしてこれVistaだと日本語化出来ないのか・・
しくった、新しいPC買ったのに駄目駄目だ
英語力が問題になるとは
06035952009/04/14(火) 14:44:07
>gnuplot自身には引数を渡す能力はない
なるほど。素直にスクリプトを書くことにします。
皆さんどうもありがとうございました。

ちなみに>>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
>>603
何を困っているのか理解せずに投下

#!/bin/sh
cat <<EOF > tmp1
plot sin(x)
pause -1
EOF
gnuplot tmp1
rm tmp1

普通にpause -1は効いているようだけど。


06055952009/04/14(火) 15:08:52
>>604
そうなんですか・・・自分の環境が変なのかもしれませんね。
バージョンは4.0 patchlevel 0、OSはRHEL4WSです。
少し古めの環境といえるかも
06066042009/04/14(火) 21:48:56
実際に提示したスクリプトを試したら、環境うんぬん
って話にはならないと思うけど。
■ このスレッドは過去ログ倉庫に格納されています