トップページ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
0063名無しさん@お腹いっぱい。2007/02/11(日) 11:01:38
セックスパンダ君最高
0064名無しさん@お腹いっぱい。2007/02/19(月) 11:53:57
0<x<9 0<y<9 の範囲で
0<x<3 と 6<x<9 の範囲で y=3,3<x<6 の範囲で y=6
というような線を引くにはどうしたらいいんでしょうか?
0065名無しさん@お腹いっぱい。2007/02/19(月) 14:06:35
>>64
plot 3 < x && x < 6 ? 6 : 3
0066名無しさん@お腹いっぱい。2007/02/19(月) 14:42:22
>>65
ありがとうございます。
しかし、それでは x=3(3<y<6) x=6(3<y<6) のラインが見えてしまいます。
これをなくすことはできないでしょうか?
0067名無しさん@お腹いっぱい。2007/02/19(月) 21:56:11
plot[0:9][0:9] x==3 || x==6 ? 1/0 : 3 < x && x < 6 ? 6 : 3
0068名無しさん@お腹いっぱい。2007/02/20(火) 10:57:07
plotで複数のグラフをかく時に、
明示的に色を指定したいのですが、どうすればいいのでしょう?
0069名無しさん@お腹いっぱい。2007/02/20(火) 12:42:51
>>67
できました!
1/0 なんて書き方ができるんですね。
ありがとうございました。
0070名無しさん@お腹いっぱい。2007/02/20(火) 22:50:46
linetype 数字 で一応指定できる
どの数字でどの色かは自分で確認して
0071名無しさん@お腹いっぱい。2007/02/20(火) 23:05:27
testで確認できるよ
0072名無しさん@お腹いっぱい。2007/02/22(木) 00:07:10
gnuplotで普通に線と点でグラフを作れば線が破線になって見にくいのですが、普通の線に毎回
設定するのが面倒です。この設定をして毎回ラインタイプを設定する必要がないように何とかなりませんか?
0073名無しさん@お腹いっぱい。2007/02/22(木) 03:37:28
>>72
>gnuplotで普通に線と点でグラフを作れば線が破線になって見にくいのですが、
うちは破線にはならんが

設定ファイルをつくってloadするとか
0074名無しさん@お腹いっぱい。2007/02/23(金) 11:22:50
gnuplotって仕様の変更が多いよな
しかも単語レベルとか細かなところで
set nolabelがサポートされなくなりそうだったときはどうしようかと思った
0075名無しさん@お腹いっぱい。2007/02/23(金) 22:11:51
4.2とかまだか?
0076名無しさん@お腹いっぱい。2007/02/24(土) 15:27:14
等値面と3次元ベクトルがサポートされれば完全にgnuplotだけで足りるんだが
なあ、おれの場合。
0077名無しさん@お腹いっぱい。2007/03/01(木) 20:24:46
y = log_x 2 log_[x](2)、 x底のログ2

って、どうすれば、描けますか?
0078名無しさん@お腹いっぱい。2007/03/01(木) 21:05:55
1/log_[2](x)
0079orz2007/03/01(木) 22:19:12
gnuplot> show version

    G N U P L O T
    Version 4.0 patchlevel 0
     ...

gnuplot> plot log_[2](x)

     invalid expression
0080名無しさん@お腹いっぱい。2007/03/01(木) 23:24:22
っ 底の変換公式

なぜそのグラフを描きたいか教えて欲しい。。。
0081orz2007/03/02(金) 02:58:15
変換公式しか無いのですか?? なんか不便だなぁ…。
式をあとから見て、何をしてるのか、直感的に解らない。。。

いや、log_[x](2)は、あくまでも要素を絞って単純化した質問だったんですけどね。
そんなに知りたいとおっしゃるなら、、、

log_[x](y) + log_[y](x) (x>1,y>1) の最小値を求めよ。って問題で、

z = log_[x](y) + log_[y](x) をプロットしてみたら、
確かに、x=y,z=2の直線が立体の底にできるよね。

ってやりたいんですけどね。

ま、
gnuplot> set isosamples 20,20
gnuplot> splot [1:][1:][1.5:2.5]log(y)/log(x)+log(x)/log(y)

あたりで、必要なもの出せるには出せます。
でも、わかりにくいですよね。

「gnuplotは、自然対数・常用対数以外の対数(任意を底を持つ)を直接プロットできない」
という命題は"真"でFA?
0082名無しさん@お腹いっぱい。2007/03/02(金) 03:57:46
>>81
glibcまで落ちると分かるよ。
答えは真。

で、逃げは関数定義だな
0083名無しさん@お腹いっぱい。2007/03/02(金) 08:48:47
>81
変換公式の意味も分からない人には分からないだろうけど
そういう設計意図のソフトじゃないんだよ

「中学生の数学教育用」を謳ってる訳じゃないんだから

0084名無しさん@お腹いっぱい。2007/03/02(金) 14:34:33
中学生はlogなんかやらないってば(^^;
0085名無しさん@お腹いっぱい。2007/03/05(月) 20:48:22
>>83
> そういう設計意図のソフトじゃないんだよ

どういう設計意図なの?

おれには、単にその種の変換をサボってるだけに見える。

有限の開発リソースの中ではその選択は正しいと思うけど。

と言うわけで、>>77=>>79=>>81 は、そういう変換をする
パッチを書いて公開すべきだな。
0086名無しさん@お腹いっぱい。2007/03/05(月) 21:27:00
関数を作るのが一番早いと思うが
0087名無しさん@お腹いっぱい。2007/03/05(月) 21:49:09
>おれには、単にその種の変換をサボってるだけに見える。

お前がやれ

以上 終わり
0088名無しさん@お腹いっぱい。2007/03/05(月) 23:55:03
関数定義を指摘した >>82 氏のレス以降は hide しておk?
0089名無しさん@お腹いっぱい。2007/03/06(火) 12:22:12
Gnuplot is a portable command-line driven interactive data and function plotting utility
本家より。メインはデータプロッティングでは?
0090名無しさん@お腹いっぱい。2007/03/06(火) 15:12:46
data and function ...
0091名無しさん@お腹いっぱい。2007/03/06(火) 15:34:24
次は楕円関数だの何だのを要求する人が登場するのを待ってればいい?
0092名無しさん@お腹いっぱい。2007/03/06(火) 22:13:33
>>88
yes
0093名無しさん@お腹いっぱい。2007/03/07(水) 20:45:16
gnuplot の文法、一度生理した方がいいかもね?
with とか正直どこでもいいだろ?
0094名無しさん@お腹いっぱい。2007/03/07(水) 21:57:55
そしてそれをするくらいなら
他のソフトに乗り換えてしまう罠...orz
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
がんばれ。

■ このスレッドは過去ログ倉庫に格納されています