トップページ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
0095名無しさん@お腹いっぱい。2007/03/08(木) 04:14:24
+ と v4 のどちらを使ってるの? 俺は+
0096名無しさん@お腹いっぱい。2007/03/08(木) 08:26:43
>>94のおすすめは?
0097名無しさん@お腹いっぱい。2007/03/08(木) 13:37:54
もうこの流れは止められない。
2ちゃんの屑どもになにができるわけでもない。
やったところでプチ新興右翼の戯れ言で片付けられるだけ。

 *  、-'ヾ'''ヾ`"''','、、 ,                   _____
  _-'"         `;ミ、                /:::::::::::::::::::::::::\
 _-"ミ;ノリ人ノノヘ/リ; `゛゛ ミ              /::::::::::::::::::::::::::::::::::::::\
 >ミ/         'γ、` ミ             |:::::::::::::;;;;;;|_|_|_|_|  
 了| "~`、  "~"`   {,',; ;} 。            |;;;;;;;;;;ノ∪  \,) ,,/ ヽ
 "7 `⌒`   ⌒   }ミ:. { <日中友好     |::( 6∪ ー─◎─◎ ) <中国が攻めてくる!
  '|   /       レリ*              |ノ  (∵∴ ( o o)∴)
+  i  (       }ィ'               |∪< ∵∵   3 ∵ノ
   `  ー---    /|` +               \       ⌒ ノ
    ヽ  ̄    / |__                  \_____/
     `i、-- '´   |ソ:
   高学歴高収入                  低学歴引き篭もりニート・フリーター    
   朝日新聞読者                  産経新聞読者  
   大きな政府/欧州社民主義           公務員叩きの小さな政府/新自由主義
0098名無しさん@お腹いっぱい。2007/03/08(木) 18:14:08
4.2
0099名無しさん@お腹いっぱい。2007/03/09(金) 08:08:29
Win版が無い orz
0100名無しさん@お腹いっぱい。2007/03/09(金) 09:25:19
あるから
0101名無しさん@お腹いっぱい。2007/03/09(金) 09:29:54
毎日Win版使ってる俺様です
0102名無しさん@お腹いっぱい。2007/03/09(金) 13:22:36
あるからの竜騎兵
0103名無しさん@お腹いっぱい。2007/03/09(金) 19:18:03
ないないw
0104名無しさん@お腹いっぱい。2007/03/09(金) 23:45:23
あら?こねーっす
0105名無しさん@お腹いっぱい。2007/03/11(日) 14:26:00
4.2 win 版 ありますか?
0106>>85 亀レスだが...2007/03/11(日) 16:30:50
>>87
俺に言うなよ。
0107名無しさん@お腹いっぱい。2007/03/12(月) 02:36:42
わしは、ザウルス版で十分。
画面、狭いけどな。
0108名無しさん@お腹いっぱい。2007/03/14(水) 01:02:30
ザウルスで使えるのか?
コンパイルしてるの?
0109名無しさん@お腹いっぱい。2007/03/14(水) 01:28:24
>>108 パッケージが公開されてる。
普段使うものは、ほとんど網羅されてるから助かってる。

ttp://www.focv.com/ipkg/

0110名無しさん@お腹いっぱい。2007/03/14(水) 19:42:57
PDAってとこが凄すぎw
何を好き好んで(ry
0111名無しさん@お腹いっぱい。2007/03/14(水) 19:45:23
そりゃ可搬性を重視すればそうなるわな
0112犬笠銀次郎@gnuplot3.82007/03/15(木) 00:33:08
x 軸と y 軸が表示出来れば良いのだが。

http://ginjiro.blogspot.com
0113名無しさん@お腹いっぱい。2007/03/15(木) 00:45:13
可搬性ww
0114名無しさん@お腹いっぱい。2007/03/15(木) 10:51:47
(ぽーたびりちー)と言ってくれ。
0115名無しさん@お腹いっぱい。2007/03/15(木) 17:32:35
6列あるデータの中から一番左の列の3桁の整数値のデータだけを用いて
横軸に数値の値、縦軸にその数値の個数を表示させたいのですが、
どのようにしたらいいでしょうか?
バージョンは4.0です
0116名無しさん@お腹いっぱい。2007/03/16(金) 09:02:42
awk '{print $1}'|sort -n |uniq -c
0117名無しさん@お腹いっぱい。2007/03/16(金) 12:52:10
>>116
ありがとうございます。
このやり方ですと横軸に個数が出てくるのですが、
このあたりはどうにかならないのでしょうか?
0118名無しさん@お腹いっぱい。2007/03/16(金) 13:04:29
>>117
plot 'hoge.dat' using 2:1
0119名無しさん@お腹いっぱい。2007/03/16(金) 13:15:24
>>116>>118
ありがとうございます。
非常に助かりました。
0120名無しさん@お腹いっぱい。2007/03/16(金) 18:08:14
>>116
すごいな。さすがunixか
0121名無しさん@お腹いっぱい。2007/03/23(金) 20:11:12
-u のある sort なら unique は省略可。
0122名無しさん@お腹いっぱい。2007/03/24(土) 00:02:13
数えてくれないっしょ?
0123名無しさん@お腹いっぱい。2007/03/24(土) 22:22:13
おしえてあげるよ
0124名無しさん@お腹いっぱい。2007/03/28(水) 22:29:27
http://pc11.2ch.net/test/read.cgi/linux/999444500/l50#tag647でも書きましたが、
Win版gnuplotで連番データファイルからグラフ化、
画像の連続出力する方法を知っている方、教えてください。
0125名無しさん@お腹いっぱい。2007/03/28(水) 22:37:43
そいうのはマルチポストって言って嫌われるからこっちで聞くなら向こうの質問を閉じなさい
0126名無しさん@お腹いっぱい。2007/03/28(水) 22:56:37
閉じてきました。すみません...
0127名無しさん@お腹いっぱい。2007/03/29(木) 22:33:41
>>124
shellが使えるんだったら、普通に for でループを組んで
HereDocument で gnuplot 動かせば、gif animation とか
普通に出来るよ。
01281242007/03/30(金) 05:37:56
すみませんが、もう少し詳しく書いてもらえると有り難いです。

shellって、UNIXのシェルスクリプトのことですか?私が聞きたいのは[Windows版]gnuplotでのことです...
あと、HereDocumentとは何でしょうか?検索すると、Rubbyではこのようなタグを使うようですが、
>>127さんの意味していることがよく分かりません。
0129名無しさん@お腹いっぱい。2007/03/30(金) 08:57:01
じゃあまず俺様が

1.Windowsでもunixのシェルスクリプトが使える

ということを教えてやろう。
01301242007/03/30(金) 17:12:24
マジデスカ?それはかなりうれしいです!
情報を小出しにしないで、ズバッと書いてください!!どうやってスクリプトを呼び出せばいいのですか?
あとLinuxでは↓のように書いているのですが、Winでもgnuplot<<EOFのような書き方でgnuplotが使えるのですか?
#!/bin/sh
#echo $1
varX=`awk -F'( = |,)' '/max_X/{print $2}' init.nml`
varY=`awk -F'( = |,)' '/max_Y/{print $2}' init.nml`
for i in $1/*.dat
do
var1=${i:8}
var2=${var1%.dat}
gnuplot << EOF
set terminal png
set output "$1img/${var2}.png"
set xlabel "X[m]"
set ylabel "Y[m]"
set zlabel "Pressure[?]"
set xrange [-0.10e0:${varX}]
set yrange [-0.10e0:${varY}]
set zrange [-0.10e0:2.10e0]
set title "Karman Vortex Street"
splot "$1/${var2}.dat" using 1:2:3 with lines
EOF
convert $1img/${var2}.png $1img/${var2}.gif
rm $1img/${var2}.png -f
echo "["$i"] has drown."
done
0131名無しさん@お腹いっぱい。2007/03/30(金) 17:25:02
cygwinってのがあるのよ
01321302007/03/30(金) 17:30:17
そんなの知ってるよ馬鹿!
01331242007/03/30(金) 17:34:26
言葉が足りませんでした。>>124で書いたアドレスのスレで、

gnuplotの連続描画するために大学のPCにcygwin入れてもらおうかな?
→Winでもできるだろ→どうやるの?→回答者失踪→ここのスレ>>124
のながれでした。

うちの大学のPCはWinXPで且つcygwin使えないので、Winでgnuplotの連続描画する方法を模索しています。
自分も情報を小出しにしていました。
   ||
 ∧||∧
( / ⌒ヽ
 | |   |
 ∪ / ノ
  | ||
  ∪∪
   ;
 -━━-
01341242007/03/30(金) 17:35:02
>>132は偽物です!
0135名無しさん@お腹いっぱい。2007/03/30(金) 17:43:27
いや、WindowsならWSH使えば一発なのだが
01361242007/03/30(金) 17:47:19
VBScriptでできますか?
どのように書けばいいのですか?
gnuplotの呼び出しと、そこへ設定を渡す方法だけでも教えてください
01371242007/03/30(金) 18:00:03
分かりました!!
>>135さん他ありがとうございました!
0138名無しさん@お腹いっぱい。2007/03/30(金) 21:16:04
いちおう WSH 使ったコードを晒して欲しかったりする。。。
0139名無しさん@お腹いっぱい。2007/03/30(金) 23:19:02
もはやこのスレの話題の範疇じゃないんじゃない?
01401242007/03/31(土) 04:33:06
私が書いたので良ければ・・・
>>130と同じ機能だけど、書き方がちょっと違う。

Dim objFS
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")

If objFS.FolderExists("ResultV") Then
Dim objFolder
Set objFolder = objFS.GetFolder("ResultV")
objFS.CreateFolder("ResultVimg")

'Start GNUPLOT
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("C:\Program Files\gnuplot\bin\wgnuplot_pipes.exe")
strID = objExec.ProcessID
Do While objShell.AppActivate(strID)
WScript.Sleep 500
Loop
01411242007/03/31(土) 04:33:57

Dim i
i = 0
For Each objFiles In objFolder.Files
i = i+1
Dim strFName
strFName = objFiles.Name

If i=1 Then
Dim objText
Set objText = objFS.CreateTextFile("_gnuplot-vel.plt", True)
'********** [gnuplot-vel_temp.plt] file statements **********
objText.WriteLine( "set terminal png" )
objText.WriteLine( "set xlabel 'X[m]'" )
objText.WriteLine( "set ylabel 'Y[m]'" )
objText.WriteLine( "set xrange [-0.10e0:2.1e0]" )
objText.WriteLine( "set yrange [-0.10e0:2.1e0]" )
objText.WriteLine( "set title 'Karman Vortex Street'" )
End If
objText.WriteLine( "set output " & "'ResultVimg/" & objFS.GetBaseName(strFName) & ".png'" )
objText.WriteLine( "plot '" & "ResultV/" & objFS.GetFileName(strFName) & "' with vector" )
Next
01421242007/03/31(土) 04:34:41

'********** Gnuplot statement **********
objShell.AppActivate(strID)
objShell.SendKeys "load '_gnuplot-vel.plt'{ENTER}"
WScript.Sleep 700

'Dim objDel
'Set objDel = objFS.GetFile("_gnuplot-vel.plt")
'objDel.Delete

Else
MsgBox("ResultV" & " Could not Found.")
End If
01431382007/04/01(日) 00:59:06
>>140-142
ありがとー

>>139
ここが UNIX 板だってこと忘れてましたスマン。
Windows だと gnuplot 動かすためだけに cygwin 入れるのもだるいし、
DJGPP の bash を使うにも fileutils とかも無いと不便だしで、
結局 WSH になるんですかね。
0144名無しさん@お腹いっぱい。2007/04/01(日) 16:16:40
俺ならデータの整理も含めてExcel+VBAでやるなぁ。
データ数増えるとAccessとかになるかもしれんけど。

すれ違いゴメン。
0145名無しさん@お腹いっぱい。2007/04/01(日) 19:48:04
M$ソフト使ってる香具師って、技術力ヒクソ〜w
0146名無しさん@お腹いっぱい。2007/04/01(日) 20:09:01
分野が違うんだろうな。

物理の分野で、計測値を全部 Access に
入れてる人がいたら挙手!
0147名無しさん@お腹いっぱい。2007/04/01(日) 21:40:05
物理だとか何だとかどこに書いてあるんだ?
0148名無しさん@お腹いっぱい。2007/04/01(日) 22:13:32
ノシ
01491242007/04/02(月) 00:22:36
ノシ
01501242007/04/02(月) 00:41:24
↑間違えた、Access使ってないです。「物理の人挙手」に脳内変換されてた。

M$のソフトは規模がでかくなると使いづらいと思う。
学生実験のデータはExcelにいれて使ってるが、数値計算ではデータが膨大でExcelでは無理

もれが>>140-142で書いたVBScriptも、シェルスクリプトでは>>130の様に簡潔、簡単に書けるし
01511442007/04/02(月) 09:44:21
物理シミュレーションすかw何のグラフか書いてなかったからさぁ

ウチは水質解析やってるけどFortranからは固定長テキストで出力して
グラフはVBで専用PG作ってるな。
0152名無しさん@お腹いっぱい。2007/05/22(火) 08:11:39
話変わるけど
0153名無しさん@お腹いっぱい。2007/05/22(火) 09:39:01
gnuplotでナンパは出来ますか?
0154名無しさん@お腹いっぱい。2007/05/22(火) 21:39:33
多くの卒論生がこれ使って難破してるんじゃね?
0155名無しさん@お腹いっぱい。2007/05/23(水) 11:09:37
おにゃのこに説明するついでに
ハートを描く関数を教えてください
0156名無しさん@お腹いっぱい。2007/05/23(水) 11:39:42
背景の色を変えるのに

[.Xresources]
gnuplot*background: black

以外に(Xを立ち上げ直すのが面倒でこれすらやってないが) 方法ない?
0157名無しさん@お腹いっぱい。2007/05/23(水) 13:03:25
gnuplot -xrm 'gnuplot*background:black'
0158名無しさん@お腹いっぱい。2007/05/23(水) 13:11:21
X を立ち上げ直す必要はないだろ

つ xrdb -merge
01591562007/05/23(水) 21:06:28
>>157, >>158
おおサンキュー。xrdb なんて 何年ぶりだろう・・・
0160名無しさん@お腹いっぱい。2007/06/03(日) 10:27:31
>>155
カージオイドでぐぐれ。
0161名無しさん@お腹いっぱい。2007/06/04(月) 17:17:28
はぁとがつぶれてて きんも〜☆ って言われちゃいました
0162名無しさん@お腹いっぱい。2007/06/08(金) 03:02:48
がんばれ。

0163名無しさん@お腹いっぱい。2007/06/11(月) 21:12:28
質問があります。

gnuplotで
1 1 -1
1 2 1
1 3 1
1 4 1
2 1 1
2 2 -1
2 3 -1
2 4 1


4 3 1
4 4 -1

のようなデータ(行列のそれぞれの成分が-1か1)があって、これを行と列について二次元プロットして、
行列の成分の値がー1のときは赤の点で、1の時は青の点で。にしたいのですがどうやったらできますか?
わかる方いらっしゃったら教えていただきたいです。よろしくお願いします。
0164名無しさん@お腹いっぱい。2007/06/11(月) 22:01:19
plot "< cat hoge.dat | awk '{if ($3 == 1) print $1, $2}'" w points pt 3, \
"< cat hoge.dat | awk '{if ($3 == -1) print $1, $2}'" w points pt 5

pt の 数字は適当に変えて好みなのを探すこと
01651632007/06/11(月) 23:40:20
>>164
ありがとうございます!結構複雑なのですね・・・。早速やってみます!
本当にありがとうございます。
0166名無しさん@お腹いっぱい。2007/06/12(火) 02:27:52
ポイントを任意の色にすることは出来るのですか?
ググってみてもそれらしい解説サイトがないのですが…
0167名無しさん@お腹いっぱい。2007/06/12(火) 08:17:29
vistaでgnuplotダウソしていざ使ってみたら文字化けみたいになって表示がうまくされません。
何かいい方法はないですか?
0168名無しさん@お腹いっぱい。2007/06/12(火) 08:23:17
白い所で右クリック→ChooseFontで適当なフォントを選ぶ→もっかい白い所を右クリック→Update wgnuplot.ini
0169名無しさん@お腹いっぱい。2007/06/12(火) 11:02:15
>166
gnuplot の場合
* そもそも pt の数字とでてくる記号・色の組合わせは出力ドライバによる
* "ポイントの種類" 属性はあっても "ポイントの色" 属性はなかったはず...

ポイントの種類を変えてごまかしてるけど
0170名無しさん@お腹いっぱい。2007/06/13(水) 03:28:38
>>166
epsで出力してepsファイルの色の定義の部分を書き換えるってのは結構やるかな
/LT0.../LT8で始まる行がpt1...pt9の色の定義に対応している
各行の最後の3数字がrgbの値になっているのでそこを変える
0171名無しさん@お腹いっぱい。2007/06/13(水) 07:59:16
>>168
ありがとうございました<m(__)m>
0172名無しさん@お腹いっぱい。2007/06/13(水) 22:39:34
例えば、f(x,y)=x^2+xy+y^2+1=0
のグラフを描くにはどうすればいいですか?
01731722007/06/14(木) 02:28:58
自己解決しました。
0174名無しさん@お腹いっぱい。2007/06/17(日) 04:52:20
MAtheamticaをGPLOTと同類にされて辛かった18の春
0175名無しさん@お腹いっぱい。2007/06/26(火) 21:02:29
Y=t^2+jtという複素数のtが0から∞まで変化するときのYベクトルの
軌跡を書くにはどうしたらいいんでしょう?
0176名無しさん@お腹いっぱい。2007/06/26(火) 22:19:51
0177名無しさん@お腹いっぱい。2007/06/26(火) 23:21:49
set parametric
plot t**2, t
0178名無しさん@お腹いっぱい。2007/06/26(火) 23:32:08
set contour
splot x**2+x*y+y**2
0179名無しさん@お腹いっぱい。2007/06/28(木) 05:17:58
2乗の表記ってそれだったのか
今までs
0180名無しさん@お腹いっぱい。2007/07/02(月) 04:38:29
i = {0.0, 1.0}  と定義しました。
これで plot i*3  みたいな表現が使えると思ったのですが・・・
表示されないです。 

all points y value undefined!  と言われます。

yが定義されてないから?と思って、適当にあたいを代入してみますが、うまくいきません。
HPも読んでみたのですが、解決できなくて、ここに来ました。
愚かな質問だと思いますが、どうぞ助けてください。
0181名無しさん@お腹いっぱい。2007/07/02(月) 14:37:00
plot abs(i*3)
などと実数化してみれば?

0182名無しさん@お腹いっぱい。2007/07/03(火) 17:46:40
gnuplotで横向きの棒グラフを書くにはどうしたらいいんでしょうか?
0183名無しさん@お腹いっぱい。2007/07/24(火) 11:18:39
x^2+y^2=1,z=1 みたいな図形はどうやってかけばいいですか?
0184名無しさん@お腹いっぱい。2007/07/24(火) 13:36:27
>>183
set parametric
splot cos (u), sin (u), 1
01851832007/07/24(火) 20:32:17
>>184
そうか!
パラメータtでやってましたorz
ありがとうございました!
0186名無しさん@お腹いっぱい。2007/07/28(土) 19:58:15
set pm3d map;
set zrange[0:40];
splot ....;

とかって書いて3列のデータから2次元の絵を作りたいのですが,
zの最大値の方が言うこと聞きません.
グラフたくさん書いて見比べたいんだけど,コンターの範囲が揃わなくて困ってます.
範囲の指定方法間違ってますか?
0187名無しさん@そうだ選挙に行こう2007/07/29(日) 02:38:44
>>186
状況がいまいちよくわからないが
set cbrange[??:??]
あたりとか?
01881862007/07/29(日) 16:13:26
>>187
スマソ.ちょっと舌足らずだった.
例えばz=[0:40]までのレンジでxy平面に色付けするとき,
set zrange[0:40]としてもレンジが勝手に0〜35になってしまったり
するデータがあるんだ.ちなみに,データでzを読むときは
using 1:2:($3 < min ? min : $3)
みたいに書いている.( < cbrange[??:??] を知らなかった人)
01891862007/07/31(火) 17:05:43
cbrange[zmin:zmax]で問題解決でした.
仕様なんだろうと思うけど,zrangeで表示領域を指定すると
データがzmaxより小さい場合は勝手に表示領域を狭めてしまうようです.
(v4.2)
0190名無しさん@お腹いっぱい。2007/08/02(木) 01:11:29
宙に浮く棒グラフ (隣にくっつかない)

を描きたいんだけど errorbars を使うしかない?
0191名無しさん@お腹いっぱい。2007/08/02(木) 01:37:44
一般的に、コマンドのファイルの拡張子は何なの?
.pltが一般的なの?
0192名無しさん@お腹いっぱい。2007/08/02(木) 10:05:10
一般的にどうこうってのはないよ。
Windowsじゃあるまいし。
0193名無しさん@お腹いっぱい。2007/08/02(木) 18:43:47
>>192
だからってjpgとかはないだろう
物事にはデファクトってもんがあるだろ
0194名無しさん@お腹いっぱい。2007/08/03(金) 00:14:40
たしかに。.emacs に auto-mode-alist 書くときに困る。
一行目に mode 書いてもいいんだが。
■ このスレッドは過去ログ倉庫に格納されています