以後よろしくお願いします。
こちらこそよろしくお願いします。
6 :
名無しさん@お腹いっぱい。:2006/11/30(木) 02:07:00
新しくグラフ描画ソフトを入れようと思って色々試しているのですが、このgnuplotというのはMaximaの中のwgnuplot.exeというやつと同じなんですか?
また、Maximaの中のwgnuplot.exeを直接起動させると、一応使えるのですがフォントが潰れてしまっています。
どうすれば普通に使えるのでしょうか?それともやはり新しくgnuplotをインストールしないと使えないのでしょうか?
>>6 winだよね
ウィンドウ左上タイトルバーのgnuplotのアイコンをクリックしてOptions->Choose Font
で大きいフォントにすればOK
>>7 おぉ、できました!
ありがとうございました
>>8 あ,一つ書き忘れた
Options->Update wgnuplot.ini を実行すれば毎回フォントを設定しなくてもよくなる
>>9 それなんですが,wgnuplot.ini が管理者権限の場所に作成されるらしく,
次回起動すると元に戻ってしまう.
>>10 4.1以降を使えばいい
windows版は窓にpltファイルをD&Dで出力されるんだけど
データファイルを参照するときwgnuplot.exeのパスを元に参照されるから困る
いちいちchdirすんのまんどくさい
2次元グラフで
x=0.3とか縦の線を書くにはどうしたらいいんですか?
つ parametric
16 :
名無しさん@お腹いっぱい。:2006/12/19(火) 22:41:48
sin(x)とsinh(x)を同時に描こうとすると、sinh(x)は正常に描かれるのにsin(x)は真横に直線が一本描かれるだけです。
なぜでしょうか?
環境はWinXPでバージョンは4.0.0です。
winでつかえるgnuplotのGUIフロントエンドってありますか?
ググってもOS違いのやつばっかなんですが。
19 :
名無しさん@お腹いっぱい。:2006/12/20(水) 02:52:06
20 :
19:2006/12/20(水) 02:53:02
幅じゃなくて範囲でした。
23 :
名無しさん@お腹いっぱい。:2007/01/09(火) 12:28:25
set xdata time でグラフを描画するときに
日付が飛んでいると
(例えば株価のデータみたいなかんじで、土日がないとか)
その部分のデータ(x軸)が等間隔で表示されないのですが、
そこをうまい具合に表示する方法はないでしょうか?
set xtics ("2007-01-04" 1, "2007-01-05" 2, "2007-01-09" 3, ・・・
とかやってデータのほうも加工してやればとりあえず表示のほうは
思いどおりになるのですが、
それだとX上でグラフ上をマウスを動かしたときに、左下に表示される x, y の値が
数字になってしまって、なにかと見ずらいので、
左下に表示されるのは xdata time のときのようにちゃんと日付で出て
なおかつグラフも等間隔で表示できるような方法があったら教えてください。
24 :
名無しさん@お腹いっぱい。:2007/01/16(火) 13:10:00
log(z)=log(x)+log(y)というグラフを書きたいんですが、どうしたらいいんでしょう?
何を疑問に思っているのか自体が分からん
えすぱーきぼんぬだな
z = exp(log(x) + log(y))
に変形出来ないとか
if x < 1; y = x + 3
if x >=1; y = 2x -1
このグラフを表示させるにはどうすればよいのでしょう?
terminal windowsのenhancedは日本語文字でたまに不具合が出るな
\や@みたいな特殊文字が含まれる文字が化けるっぽい
>28
例えばこんな方法があるけど,好きな方で.
* 関数定義する
* 2本引く(同じ line property で)
>>28 plot x < 1 ? x + 3 : 2 * x - 1
32 :
名無しさん@お腹いっぱい。:2007/01/27(土) 16:43:42
すいません。教えてほしいことがあります。
wgnuplotをインストールして使ってみたら、
計算値の少数点以下が表示されないんです。
3/2を計算しても1と出てしまいます。
どうすればいいのでしょうか?
3.0/2
34 :
名無しさん@お腹いっぱい。:2007/01/27(土) 19:18:09
>>33 おお!できました!ありがとうございます。
もう一つ教えてほしいことがあります。
sin(x)をプロットするときれいに曲線が出てくる
のですが、山や谷の傾きの符号が変わる
辺りではわずかにぼこぼこしていてきれいな曲線に
なっていないのですが、これはこれで普通なの
でしょうか?
set samples 500
とか
36 :
名無しさん@お腹いっぱい。:2007/01/27(土) 19:56:30
>>35 そういえばそんなコマンドがありましたね。
いろいろありがとうございました。m(_ _)m
gridでxticsとmxticsで別の色の線をひくことはできますか?
set grid xtics ytics ls 1
set grid mxtics mytics ls 2
とかやってもできませんでした
x**(1/3)
ってできないのですか?
x**0.33333
は描けるのですが.
ヒント: print 1/3
>>39 ありがとうございます.
x**(1/3.0)
ってしないといけないのですね.
勉強になりました.
42 :
名無しさん@お腹いっぱい。:2007/02/07(水) 14:35:04
graphのウィンドウでマウスを動かすと左下に座標が表示されますが、
これを消し去る方法はないのでしょうか?
43 :
名無しさん@お腹いっぱい。:2007/02/07(水) 22:10:50
軸の名前、題名、タイトルを日本語表記したいのですが、できません。
また、グラフの軸名のサイズを変更したいと思い
set xlabel "xx" font "Times-Roman,20"などと打ち込んでいるのですが
変更してくれません
お願いします
日本語は無理なんじゃね?
フォントの方は、そのサイズが存在しないだけでは?
日本語が通るgnuplotってのがあったろ? なくなっちゃったのかな。
千葉大の人がハッカー条項つきで配ってたように記憶してるんだが。
gnuplot+ のことだぬ
最近はutf-8なら通るとかなかったっけ。
話ぶった切ってすいません。
arccot cot を書く方法はないですか?
スケールの違う二つの関数を同時にプロットする方法を教えてください。
具体的には、sin(x) と 2sin(x)を、高さが揃うようにプロットしたいのです。
左の軸をsin(x)が、右の軸を2sin(x)が使うようにできないでしょうか?
>>49 set y2tics
set ytics nomirror
plot sin (x), 2 * sin (x + pi) axis x1y2
52 :
名無しさん@お腹いっぱい。:2007/02/10(土) 03:20:08 BE:424206239-2BP(0)
gnuplotのグラフをtexで図として使うには・・・。グラフをどういう形式で保存するのがベストでしょうか?
set term post eps enhanced color
>>52 おれは敢えてpostscriptかな。
テキストエディタで弄りやすいので。
敢えてって言われても >53以降 postscript 以外の回答は出てないわけだが
57 :
名無しさん@お腹いっぱい。:2007/02/10(土) 15:35:14 BE:565606894-2BP(0)
epsにはあっさりと変換できたんですが、グラフの軸名が文字化けしちゃいます。
グラフのメモリ数値は大丈夫なんですが。。。
texがまずいんでしょうか?
まさか >43- を読んでないなんてことはないよな。なっ?
59 :
名無しさん@お腹いっぱい。:2007/02/10(土) 21:49:12
set fontpath "/usr/share/.../"
これでフォントパス設定しようとすると
sh: kpsexpand: command not found
と帰ってくる。当然フォントパスの設定は出来ません。
グラフプロットはフォント以外正常に出来ています。
環境:gnuplot4.0 fedora core5 ppc
解決法ご存知の方おいでませんか。
60 :
名無しさん@お腹いっぱい。:2007/02/10(土) 22:01:41
そのセックスパンダとかいうコマンドがないんだろ。
不覚にもチトワロタ >> セックスパンダ
62 :
名無しさん@お腹いっぱい。:2007/02/11(日) 01:47:13
ターミナルのこぴです
Terminal type set to 'x11'
gnuplot> set fontpath "/usr/share/font/"
sh: kpsexpand: command not found
sh: kpsexpand: command not found
gnuplot>
gnuplotのセットコマンドのはずなんですが、返事が・・・
これってバグなのでしょうか?
セックスパンダ君最高
0<x<9 0<y<9 の範囲で
0<x<3 と 6<x<9 の範囲で y=3,3<x<6 の範囲で y=6
というような線を引くにはどうしたらいいんでしょうか?
>>64 plot 3 < x && x < 6 ? 6 : 3
>>65 ありがとうございます。
しかし、それでは x=3(3<y<6) x=6(3<y<6) のラインが見えてしまいます。
これをなくすことはできないでしょうか?
plot[0:9][0:9] x==3 || x==6 ? 1/0 : 3 < x && x < 6 ? 6 : 3
plotで複数のグラフをかく時に、
明示的に色を指定したいのですが、どうすればいいのでしょう?
>>67 できました!
1/0 なんて書き方ができるんですね。
ありがとうございました。
linetype 数字 で一応指定できる
どの数字でどの色かは自分で確認して
testで確認できるよ
72 :
名無しさん@お腹いっぱい。:2007/02/22(木) 00:07:10
gnuplotで普通に線と点でグラフを作れば線が破線になって見にくいのですが、普通の線に毎回
設定するのが面倒です。この設定をして毎回ラインタイプを設定する必要がないように何とかなりませんか?
>>72 >gnuplotで普通に線と点でグラフを作れば線が破線になって見にくいのですが、
うちは破線にはならんが
設定ファイルをつくってloadするとか
gnuplotって仕様の変更が多いよな
しかも単語レベルとか細かなところで
set nolabelがサポートされなくなりそうだったときはどうしようかと思った
75 :
名無しさん@お腹いっぱい。:2007/02/23(金) 22:11:51
4.2とかまだか?
76 :
名無しさん@お腹いっぱい。:2007/02/24(土) 15:27:14
等値面と3次元ベクトルがサポートされれば完全にgnuplotだけで足りるんだが
なあ、おれの場合。
77 :
名無しさん@お腹いっぱい。:2007/03/01(木) 20:24:46
y = log_x 2 log_[x](2)、 x底のログ2
って、どうすれば、描けますか?
1/log_[2](x)
79 :
orz:2007/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
っ 底の変換公式
なぜそのグラフを描きたいか教えて欲しい。。。
81 :
orz:2007/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?
82 :
名無しさん@お腹いっぱい。:2007/03/02(金) 03:57:46
>>81 glibcまで落ちると分かるよ。
答えは真。
で、逃げは関数定義だな
>81
変換公式の意味も分からない人には分からないだろうけど
そういう設計意図のソフトじゃないんだよ
「中学生の数学教育用」を謳ってる訳じゃないんだから
中学生はlogなんかやらないってば(^^;
>>83 > そういう設計意図のソフトじゃないんだよ
どういう設計意図なの?
おれには、単にその種の変換をサボってるだけに見える。
有限の開発リソースの中ではその選択は正しいと思うけど。
と言うわけで、
>>77=
>>79=
>>81 は、そういう変換をする
パッチを書いて公開すべきだな。
関数を作るのが一番早いと思うが
>おれには、単にその種の変換をサボってるだけに見える。
お前がやれ
以上 終わり
関数定義を指摘した
>>82 氏のレス以降は hide しておk?
Gnuplot is a portable command-line driven interactive data and function plotting utility
本家より。メインはデータプロッティングでは?
data and function ...
次は楕円関数だの何だのを要求する人が登場するのを待ってればいい?
92 :
名無しさん@お腹いっぱい。:2007/03/06(火) 22:13:33
93 :
名無しさん@お腹いっぱい。:2007/03/07(水) 20:45:16
gnuplot の文法、一度生理した方がいいかもね?
with とか正直どこでもいいだろ?
そしてそれをするくらいなら
他のソフトに乗り換えてしまう罠...orz
95 :
名無しさん@お腹いっぱい。:2007/03/08(木) 04:14:24
+ と v4 のどちらを使ってるの? 俺は+
もうこの流れは止められない。
2ちゃんの屑どもになにができるわけでもない。
やったところでプチ新興右翼の戯れ言で片付けられるだけ。
* 、-'ヾ'''ヾ`"''','、、 , _____
_-'" `;ミ、 /:::::::::::::::::::::::::\
_-"ミ;ノリ人ノノヘ/リ; `゛゛ ミ /::::::::::::::::::::::::::::::::::::::\
>ミ/ 'γ、` ミ |:::::::::::::;;;;;;|_|_|_|_|
了| "~`、 "~"` {,',; ;} 。 |;;;;;;;;;;ノ∪ \,) ,,/ ヽ
"7 `⌒` ⌒ }ミ:. { <日中友好 |::( 6∪ ー─◎─◎ ) <中国が攻めてくる!
'| / レリ* |ノ (∵∴ ( o o)∴)
+ i ( }ィ' |∪< ∵∵ 3 ∵ノ
` ー--- /|` + \ ⌒ ノ
ヽ  ̄ / |__ \_____/
`i、-- '´ |ソ:
高学歴高収入 低学歴引き篭もりニート・フリーター
朝日新聞読者 産経新聞読者
大きな政府/欧州社民主義 公務員叩きの小さな政府/新自由主義
98 :
名無しさん@お腹いっぱい。:2007/03/08(木) 18:14:08
4.2
99 :
名無しさん@お腹いっぱい。:2007/03/09(金) 08:08:29
Win版が無い orz
あるから
毎日Win版使ってる俺様です
あるからの竜騎兵
103 :
名無しさん@お腹いっぱい。:2007/03/09(金) 19:18:03
ないないw
あら?こねーっす
105 :
名無しさん@お腹いっぱい。:2007/03/11(日) 14:26:00
4.2 win 版 ありますか?
わしは、ザウルス版で十分。
画面、狭いけどな。
108 :
名無しさん@お腹いっぱい。:2007/03/14(水) 01:02:30
ザウルスで使えるのか?
コンパイルしてるの?
110 :
名無しさん@お腹いっぱい。:2007/03/14(水) 19:42:57
PDAってとこが凄すぎw
何を好き好んで(ry
そりゃ可搬性を重視すればそうなるわな
112 :
犬笠銀次郎@gnuplot3.8:2007/03/15(木) 00:33:08
可搬性ww
(ぽーたびりちー)と言ってくれ。
6列あるデータの中から一番左の列の3桁の整数値のデータだけを用いて
横軸に数値の値、縦軸にその数値の個数を表示させたいのですが、
どのようにしたらいいでしょうか?
バージョンは4.0です
awk '{print $1}'|sort -n |uniq -c
>>116 ありがとうございます。
このやり方ですと横軸に個数が出てくるのですが、
このあたりはどうにかならないのでしょうか?
>>117 plot 'hoge.dat' using 2:1
120 :
名無しさん@お腹いっぱい。:2007/03/16(金) 18:08:14
-u のある sort なら unique は省略可。
数えてくれないっしょ?
123 :
名無しさん@お腹いっぱい。:2007/03/24(土) 22:22:13
おしえてあげるよ
124 :
名無しさん@お腹いっぱい。:2007/03/28(水) 22:29:27
そいうのはマルチポストって言って嫌われるからこっちで聞くなら向こうの質問を閉じなさい
閉じてきました。すみません...
127 :
名無しさん@お腹いっぱい。:2007/03/29(木) 22:33:41
>>124 shellが使えるんだったら、普通に for でループを組んで
HereDocument で gnuplot 動かせば、gif animation とか
普通に出来るよ。
128 :
124:2007/03/30(金) 05:37:56
すみませんが、もう少し詳しく書いてもらえると有り難いです。
shellって、UNIXのシェルスクリプトのことですか?私が聞きたいのは[Windows版]gnuplotでのことです...
あと、HereDocumentとは何でしょうか?検索すると、Rubbyではこのようなタグを使うようですが、
>>127さんの意味していることがよく分かりません。
じゃあまず俺様が
1.Windowsでもunixのシェルスクリプトが使える
ということを教えてやろう。
130 :
124:2007/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
cygwinってのがあるのよ
132 :
130:2007/03/30(金) 17:30:17
そんなの知ってるよ馬鹿!
133 :
124:2007/03/30(金) 17:34:26
言葉が足りませんでした。
>>124で書いたアドレスのスレで、
gnuplotの連続描画するために大学のPCにcygwin入れてもらおうかな?
→Winでもできるだろ→どうやるの?→回答者失踪→ここのスレ
>>124 のながれでした。
うちの大学のPCはWinXPで且つcygwin使えないので、Winでgnuplotの連続描画する方法を模索しています。
自分も情報を小出しにしていました。
||
∧||∧
( / ⌒ヽ
| | |
∪ / ノ
| ||
∪∪
;
-━━-
134 :
124:2007/03/30(金) 17:35:02
135 :
名無しさん@お腹いっぱい。:2007/03/30(金) 17:43:27
いや、WindowsならWSH使えば一発なのだが
136 :
124:2007/03/30(金) 17:47:19
VBScriptでできますか?
どのように書けばいいのですか?
gnuplotの呼び出しと、そこへ設定を渡す方法だけでも教えてください
137 :
124:2007/03/30(金) 18:00:03
分かりました!!
>>135さん他ありがとうございました!
いちおう WSH 使ったコードを晒して欲しかったりする。。。
もはやこのスレの話題の範疇じゃないんじゃない?
140 :
124:2007/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
141 :
124:2007/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
142 :
124:2007/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
143 :
138:2007/04/01(日) 00:59:06
>>140-142 ありがとー
>>139 ここが UNIX 板だってこと忘れてましたスマン。
Windows だと gnuplot 動かすためだけに cygwin 入れるのもだるいし、
DJGPP の bash を使うにも fileutils とかも無いと不便だしで、
結局 WSH になるんですかね。
俺ならデータの整理も含めてExcel+VBAでやるなぁ。
データ数増えるとAccessとかになるかもしれんけど。
すれ違いゴメン。
145 :
名無しさん@お腹いっぱい。:2007/04/01(日) 19:48:04
M$ソフト使ってる香具師って、技術力ヒクソ〜w
分野が違うんだろうな。
物理の分野で、計測値を全部 Access に
入れてる人がいたら挙手!
物理だとか何だとかどこに書いてあるんだ?
ノシ
149 :
124:2007/04/02(月) 00:22:36
ノシ
150 :
124:2007/04/02(月) 00:41:24
↑間違えた、Access使ってないです。「物理の人挙手」に脳内変換されてた。
M$のソフトは規模がでかくなると使いづらいと思う。
学生実験のデータはExcelにいれて使ってるが、数値計算ではデータが膨大でExcelでは無理
もれが
>>140-142で書いたVBScriptも、シェルスクリプトでは
>>130の様に簡潔、簡単に書けるし
151 :
144:2007/04/02(月) 09:44:21
物理シミュレーションすかw何のグラフか書いてなかったからさぁ
ウチは水質解析やってるけどFortranからは固定長テキストで出力して
グラフはVBで専用PG作ってるな。
152 :
名無しさん@お腹いっぱい。:2007/05/22(火) 08:11:39
話変わるけど
gnuplotでナンパは出来ますか?
多くの卒論生がこれ使って難破してるんじゃね?
おにゃのこに説明するついでに
ハートを描く関数を教えてください
背景の色を変えるのに
[.Xresources]
gnuplot*background: black
以外に(Xを立ち上げ直すのが面倒でこれすらやってないが) 方法ない?
gnuplot -xrm 'gnuplot*background:black'
X を立ち上げ直す必要はないだろ
つ xrdb -merge
159 :
156:2007/05/23(水) 21:06: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の時は青の点で。にしたいのですがどうやったらできますか?
わかる方いらっしゃったら教えていただきたいです。よろしくお願いします。
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 の 数字は適当に変えて好みなのを探すこと
165 :
163:2007/06/11(月) 23:40:20
>>164 ありがとうございます!結構複雑なのですね・・・。早速やってみます!
本当にありがとうございます。
ポイントを任意の色にすることは出来るのですか?
ググってみてもそれらしい解説サイトがないのですが…
vistaでgnuplotダウソしていざ使ってみたら文字化けみたいになって表示がうまくされません。
何かいい方法はないですか?
白い所で右クリック→ChooseFontで適当なフォントを選ぶ→もっかい白い所を右クリック→Update wgnuplot.ini
>166
gnuplot の場合
* そもそも pt の数字とでてくる記号・色の組合わせは出力ドライバによる
* "ポイントの種類" 属性はあっても "ポイントの色" 属性はなかったはず...
ポイントの種類を変えてごまかしてるけど
>>166 epsで出力してepsファイルの色の定義の部分を書き換えるってのは結構やるかな
/LT0.../LT8で始まる行がpt1...pt9の色の定義に対応している
各行の最後の3数字がrgbの値になっているのでそこを変える
>>168 ありがとうございました<m(__)m>
例えば、f(x,y)=x^2+xy+y^2+1=0
のグラフを描くにはどうすればいいですか?
173 :
172:2007/06/14(木) 02:28:58
自己解決しました。
MAtheamticaをGPLOTと同類にされて辛かった18の春
Y=t^2+jtという複素数のtが0から∞まで変化するときのYベクトルの
軌跡を書くにはどうしたらいいんでしょう?
176 :
名無しさん@お腹いっぱい。:2007/06/26(火) 22:19:51
う
set parametric
plot t**2, t
set contour
splot x**2+x*y+y**2
2乗の表記ってそれだったのか
今までs
i = {0.0, 1.0} と定義しました。
これで plot i*3 みたいな表現が使えると思ったのですが・・・
表示されないです。
all points y value undefined! と言われます。
yが定義されてないから?と思って、適当にあたいを代入してみますが、うまくいきません。
HPも読んでみたのですが、解決できなくて、ここに来ました。
愚かな質問だと思いますが、どうぞ助けてください。
plot abs(i*3)
などと実数化してみれば?
182 :
名無しさん@お腹いっぱい。:2007/07/03(火) 17:46:40
gnuplotで横向きの棒グラフを書くにはどうしたらいいんでしょうか?
183 :
名無しさん@お腹いっぱい。:2007/07/24(火) 11:18:39
x^2+y^2=1,z=1 みたいな図形はどうやってかけばいいですか?
>>183 set parametric
splot cos (u), sin (u), 1
185 :
183:2007/07/24(火) 20:32:17
>>184 そうか!
パラメータtでやってましたorz
ありがとうございました!
set pm3d map;
set zrange[0:40];
splot ....;
とかって書いて3列のデータから2次元の絵を作りたいのですが,
zの最大値の方が言うこと聞きません.
グラフたくさん書いて見比べたいんだけど,コンターの範囲が揃わなくて困ってます.
範囲の指定方法間違ってますか?
>>186 状況がいまいちよくわからないが
set cbrange[??:??]
あたりとか?
188 :
186:2007/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[??:??] を知らなかった人)
189 :
186:2007/07/31(火) 17:05:43
cbrange[zmin:zmax]で問題解決でした.
仕様なんだろうと思うけど,zrangeで表示領域を指定すると
データがzmaxより小さい場合は勝手に表示領域を狭めてしまうようです.
(v4.2)
190 :
名無しさん@お腹いっぱい。:2007/08/02(木) 01:11:29
宙に浮く棒グラフ (隣にくっつかない)
を描きたいんだけど errorbars を使うしかない?
191 :
名無しさん@お腹いっぱい。:2007/08/02(木) 01:37:44
一般的に、コマンドのファイルの拡張子は何なの?
.pltが一般的なの?
一般的にどうこうってのはないよ。
Windowsじゃあるまいし。
>>192 だからってjpgとかはないだろう
物事にはデファクトってもんがあるだろ
たしかに。.emacs に auto-mode-alist 書くときに困る。
一行目に mode 書いてもいいんだが。
時刻を横軸にするときメモリの時刻表示が重なってしまい見苦しいので、
文字を90度回転させることはできないでしょうか?
196 :
tm:2007/08/06(月) 05:03:59
>>143あたりの記事へ
私なら,全部awkでやります。Here documentなくても,
ちまちまprintやprintfでguplotの命令をかいていけばいいですから。
また,たまにpgnuplotをawkで触るのもやります。
winにもgawkがあるし,awkでがんばれば,たいていのことはできると思うのですが。
(wshは強力だけど,Windows onlyのコードを使います)。
Unixユーザー様の書いた強力なコードを使うときは,迷わずcygwin。
cygwinってそのためにあるのでは?
また,cygwinいやならmsysのshをいれればすこし書き直しが要りますが,
あまり手がかからずunixもの移植できます。
msysなら,ファイルをコピーするだけでインストールできるので,
usbあたりにでもいれとけばいいのでは。
私のusbにはいれてあります。
197 :
名無しさん@お腹いっぱい。:2007/08/07(火) 00:28:55
なんか日本語うまく出ねーんだけど コツとかある?
a
199 :
tm:2007/08/07(火) 05:03:39
>>198 OSやterminal,versionによって違うのでそれ書いてくれないと答えられんよ。
質問するときの常識でしょ?
200 :
名無しさん@お腹いっぱい。:2007/08/07(火) 10:08:41
エンコードでeuc-jpとかutf-8とかッて選べないの?
ニホンゴ文字化けして読めないンですけど
201 :
名無しさん@お腹いっぱい。:2007/08/20(月) 18:38:08
X軸を日付にしているとき、グリッド線はそのままで
見出しをグリッドとグリッドの間(12:00あたり)に
表示したいんだけど、どうしたらいいんだろう
gnuplotって何?
プロッタ
以下のようなファイルを読み込んでグラフを作成しています。
2007/8/28 10 100
2007/8/29 20 200
2007/8/30 30 300
データ数が多くなるとx軸の日付が重なって見えずらくなるのですが、
日付を3日で1つ表示する等の変更はどうすればよいのでしょうか?
help xtic
>>205 できますたあああああああああああああ
ありがとうございます!
いつのまにか4.2.2
今日初めてこのスレ読んだんだけど
>>42 unset mouse
で消えるんでは
( ^ω^)
210 :
名無しさん@お腹いっぱい。:2007/09/28(金) 17:41:57
下のようにしてMSゴシックを使ってグラフを作成すると
ylabel が 90度回転せずに出力されてしまうのですが、
なぜなんでしょうか?
デフォルトのフォントでは ylabel が90度回転するので、
凡例以外はデフォルトフォントにして、
凡例だけのフォントを変更したいのですが、
どうすればいいでしょうか?
set terminal png medium font "/path/to/msgothic.ttc,10"
set output "test.png"
set xlabel "X"
set ylabel "Y"
plot sin(x) title "さいん"
データ集合をプロットして出力したグラフから
再度,細かいデータ点を取り出したいと考えてます.
具体的に,y軸を基点として,y軸のある点でのx軸の正確な値を
取り出したい場合,どうしたらよいでしょうか?
>211
gnuplot となんの関係が?
213 :
211:2007/09/30(日) 14:01:41
>>212 gnuplot 入門して間もないです.
出力したグラフの左下に,ポインティング座標位置が出る.
ということは,y軸のある値から,それに対するx軸の値が出せるのではないか
と考えてます.
gnuplot がグラフを出力するだけのソフトであるならば,
意味不明な質問になると思いますが・・・
つっ 釣られないクマー…
216 :
211:2007/10/01(月) 16:33:14
217 :
215:2007/10/01(月) 17:00:05
いへいへ、どーいたましまして。
これからもがんがってくださいまし
(´-`).。oO(あれ?俺
>>217 なんて書いた覚えないのに…)
>>219 gnuplotを GNU と略すコメントに違和感...
>>221 裡門頂肘を裡門と略されるとムズムズするのと同じだな
媒介変数を用いて2つの円を表示した後、それらの円の中心同士
2点, P, Qを線分で結びたいのですが、うまくいかず困っています。
replot t, f(t)
とすれば、中心同士を直線で結べるのですが、線分で結びたいのです。
replot [Px, Qx] t, f(t)
等としてみても、replot自体が無効になってしまっているようでした。
つ パラメトリック
とてもアホな質問かもしれませんが探し方が悪かったのか、Windows版でファイル→開く、
保存の項目を選択したときにver4.0まではその項目を選択したときに、
以前に最後に開いたディレクトリを選択してくれたのですが、
最近ではgnuplotをインストールしたディレクトリを常に開いてしまいます。
これを以前の挙動に戻すにはどのようにしたらよいでしょうか。よろしくお願いいたします。
キタ Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!!
gnuplotでグラフを書くときに、
空白で区切られたデータでなく、
CSV形式のデータを読み込んで書かせるには
どういう方法があるのでしょうか?
sed でパイプ
plot "|sed 's/,/ /g' hoge.dat"
一回置換してから利用するしかないんですね。
gnuplot から直接いけるのかと思ってた。
230 :
229:2007/10/10(水) 23:24:28
CSV 形式なら
plot 'file.csv' using '%lf,%lf' とするか
set datafile separator "," とする
>229
置換というか gnuplot でフィルタすればいいだけなんだけど。
>228 は下記間違いで、|じゃなく "<sed ..." でした。
詳しくは help special-filenames の
plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"
とかを参照
>231 に別解あるけどパイプのほうが汎用性があるから
覚えておいて損はない
こないだ放送大学の数学の授業でgnuplotの使い方説明してた。
234 :
229:2007/10/21(日) 00:39:40
x軸のラベル表示の方法の質問です。
A 1 3
B 3 8
C 5 7
D 6 5
E 7 9
F 9 4
とdata fileを用意したときに、
1列め(A B C D E F)をx軸のラベルに、
2列めをx座標、3列めをy座標に使用する方法が
あればご教授お願いします。
ラベルをデータファイルに埋め込むのは多分無理じゃね?
perlとかpythonでラベルデータ => gnuplot script を生成
237 :
234:2007/10/21(日) 15:44:16
やっぱ、スクリプト組むしかないんですね。
ありがとうございました。
デフォルト設定をする方法(例えば.gnuplotrcみたいなファイルに書く、等)はあるのでしょうか?
Help topic: startup
When `gnuplot` is run, it looks for an initialization file to load.
This file is called `.gnuplot` on Unix and AmigaOS systems, and
`GNUPLOT.INI` on other systems. ...略...
windows版のgp400win32.zipをアンインストールしたいんだけど、解凍したフォルダごと消すだけでいいの?
レジストリとか別フォルダにtempを作ってたりしたら、それも消したいんで教えてください。
やりたいことがよくわからんが
空行でも入れれば
( ゚д゚)ポカーン
X軸を縦軸に、Y軸を横軸にして水平に伸びる棒グラフを書きたいのですが、
軸を入れ替えるにはどうしたらよいのでしょうか?
ご存知の方ご教示ください
set ytics ("{/Symbol p}"pi)
ってやるとグラフの左に
空白できるんだが、なんぞこれ?
249 :
248:2007/11/07(水) 05:34:58
gvコマンドで表示したとき
250 :
名無しさん@お腹いっぱい。:2007/11/08(木) 19:14:22
バーとかチルダが付いた文字の使い方をどなたか教えてください。
出力したepsファイルを描画ツールで加工する以外の方法でお願いします。
251 :
250:2007/11/08(木) 19:26:00
gnuplot+のパッチを当てるとTEXの特殊文字が使えるということで自己解決しました。
title 'タイトル名'
上のタイトル名を改行して2行に渡り書く方法があれば教えてください
>>250 set terminal epslatex
254 :
名無しさん@お腹いっぱい。:2007/11/12(月) 01:42:20
等高線図をかかせると、なぜかY軸のメモリが、図の右側にしか出ないのですが、
なんとかなりませんでしょうか?
255 :
250:2007/11/13(火) 18:44:47
>>253ありがとうございます
gnuplot+をxpに入れるのを躊躇してたので助かりました。
256 :
名無しさん@お腹いっぱい。:2007/11/15(木) 13:07:33
gnuplot ってなんて発音するんですか?
257 :
255:2007/11/15(木) 13:10:59
ガンポルト
259 :
名無しさん@お腹いっぱい。:2007/11/17(土) 14:44:37
set term postscript eps enhanced "fontname"
タイトルや凡例に日本語を使うにはfontnameには何を入れればいいですか?
手当たり次第にttfファイルを、".ttf"の有無し、フルパスで指定したりとか
試してるけどうまくいきません。
VineLinux4.1使ってます。
標準のgnuplot4.0.0と、自分でmake installした4.2.2で試してます。
表示にはdisplayコマンドとgvコマンドを使ってます。
標準フォント: set size 0.7,1.4; set term post portrait color "Times-Roman" 14
Fonts listed by `fontfile` or `fontfile add` encapsulate the font
definitions of the listed font from a postscript Type 1 or TrueType font
file directly into the gnuplot output postscript file. Thus, the enclosed
font can be used in labels, titles, etc. See the section
`postscript fontfile` for more details. With `fontfile delete`, a fontfile
is deleted from the list of embedded files. `nofontfiles` cleans the list
of embedded fonts.
261 :
259:2007/11/18(日) 04:38:38
>>260 やはりその方法しかないみたいですね。
ちなみにその方法を試そうとすると以下のエラーが出ます。
私のところではttf2pt1をmake installする必要があるようです。
Command 'ttf2pt1 -a -e -W 0 /usr/X11R6/lib/X11/fonts/TrueType/sazanami-gothic.ttf -'
generated error, exitcode is 32512
ありがとうございます。
262 :
名無しさん@お腹いっぱい。:2007/11/19(月) 23:14:59
0.1 0.1 1
0.1 0.2 0
0.1 0.3 2
・
・
1.0 1.0 1
というデータファイルがあります。左2列はx,y座標でその場所に点をプロットします。プロットする点の色を3列目の数字によって変えます。
たとえば1なら黒 2なら青とか
こういうのってできますか?
>>262 3列目の数字に応じてファイルを分割したほうが早い気がする。
set terminal・・・・
とpltに書いてgnuplotで読むとエラーというか数値がガーって出て
しまうんですが対処法を教えてください。
>>263 plot '1.txt' title 'data1' with points,'2.txt' title 'data2' with points
みたいにしたんですが、プロットの点が○と+になってしまいます。
プロットは全部、点で色だけを変えたいんですが、できますか?
>262
plot "<awk '{if ($3 == 1) print $0}'" pt 1,\
"<awk '{if ($3 == 2) print $0}'" pt 2,\
...
>265
"色" という概念はながらく鬼門だったのだが
今は色ってのがあるみたい。help colors してみるよろし
> For many terminal types it is also possible to assign user-defined colors
> using explicit rgb (red, green, blue) values, named colors, or color values
> that refer to the current PM3D palette.
gnuplot version4.2を使用しています。
お聞きしたい事は
プロットしたドットを単純に色を変更するということではなく、x軸の目盛が1づつふられていたとして(0〜10000)プロットした際に、
0〜1000までの範囲にプロットされたドットは赤
1000〜2000までの範囲を青
という風に、x軸の範囲で色を変えるようにプロットしたいのですが、
どのようにすれば良いのでしょうか?色々と調べても答えが見つかりませんでした。
どなたかご教授頂けないでしょうか?
宜しくお願い致します。
>267
>266 と同じ考え方というか応用
plot "< awk '{if ($1 < 1000) print $0}' hoge.dat" pt 1,\
"< awk '{if (1000 <= $1 < 2000) print $0}' hoge.dat" pt 2,\
...
269 :
267:2007/11/20(火) 23:01:25
>>268 can't read data file "< awk '{if ($1 < 1000) print $0}' hoge.dat"
といわれます
そうですか
わかりません><;
まさか >269,271 ってマジレスじゃないだろうな…
273 :
名無しさん@お腹いっぱい。:2007/11/27(火) 23:09:42
set parametric
f(t)=-sqrt(t**2-t)+t\
g(t)=sqrt(t**2-t)+t
plot real(f(t)),imag(f(t)),real(g(t)),imag(g(t))
二次関数の共役複素解ですが、gnuplotで読み込むとおいおいって感じに
なるんやけど、どっか間違ってますか??
「おいおいって感じ」じゃわからん。
275 :
名無しさん@お腹いっぱい。:2007/11/28(水) 13:19:33
グラフがどうみても共役複素数にみえないってこと。
おいおいっ
277 :
275:2007/11/28(水) 14:00:12
>>273 試してみたら、色々問題あるね。だけど、それはおいおいに治して行こうよ
おいおい流行りだなおいおい
おいおい。
少しはgnuplotの話をしろよ、おいおい。
281 :
名無しさん@お腹いっぱい。:2007/11/29(木) 21:30:33
>>234 亀レスですが
plot '-' using 2:3:xtic(1)
A 1 3
B 3 8
C 5 7
D 6 5
\E 7 9
F 9 4
e
でどうでしょうか?
プログラムからgnuplotを起動するとき、
複数起動させずに最初に起動したgnuplotに値を渡すように設定できますか?
現状ではプログラムの処理速度がはやく、
次々に起動し、グラフが完全に出力されないことがあり困っています。
日本語でおk
284 :
282:2007/12/05(水) 19:28:08
やりたいことはdata0,data1,data2,・・・というデータを
data0.jpeg,data1.jpeg・・・のように自動的に描画・保存してほしい
このときプロット数が多いので、処理が終わってから次のデータへというふうにやりたい
わかってもらえます?
what is 「data0,data1,data2,・・・というデータ」?
>>282 プログラムから、ってのを具体的にplz。
例えばスクリプトやらバッチファイルやらで、
gnuplot data.gpl
(.gplの中身は手で打つコマンドを列挙したもの)
とかを繰り返すものであれば、そんな事態はあまり起こらない気がするし。
データが出そろうまでgnuplotを呼ばないようにすることのほうが問題では?
エスパー外してたらごめんちゃい。
>286みてエスパー2号
結果出力をファイルに書くのと同時(終了を待たず)に
データファイル読み込みなぐにゅうぷろっと起動、尻切れショボーン
>286 の通りにやるか素直に pipe で呼び出せばいーのに...
で、元質問者はマジで日本語の勉強すべし
288 :
282:2007/12/06(木) 12:44:13
長文になるのを覚悟し詳細に書くと、現在はC++からplot.txtというファイルに
fout << "set output 'data" << t(プログラム中の変数) << ".jpeg'\n" << "sp 'data' w l\n" << "quit" ;
と書き込み、これをsystem("pgnuplot.exe plot.txt"); でpgnuplotへ送っています。
メインプログラムは、
1.値の計算 → 2.dataに結果の出力 → 3.gnuplotに値を渡し、グラフとして保存、終了 → 1へ戻る
というループをしています。
ここで、1と2でかかる時間が3でかかる時間より短いことにより、3が実行されるたびに別のgnuplotが起動し資源を食います。
そこで、解決法として、起動中のgnuplotに値を渡すことを考えました。
>>286 さんのように、data.gplを作る場合、手で打つのがめんどくさい、プログラム中の変数(set hidden3d x,y 等)を使うので変更するのが大変等の理由で断念しました。
(でも、それをプログラムでできるようにすればいいのかな?)
その後、プログラムからdata.jpegの有無を確認、あれば次のループを実行、無ければしばらく待機みたいなプログラムを考えています。
(ただgnuplotが、空のjpegを出力してからそこに上書きだと不可能)
>>287 自分でも、己の日本語力の無さに危機感を覚えているんですが、おすすめの書があったら教えてください。
289 :
282:2007/12/06(木) 12:50:40
間違いました。
hidden3d ではなく dgrid3d でした。
あと、やはりjpegを作ってから書き込みたったので、考えていたプログラムは使えそうにないです。
データが揃ってから(書き終わってから)起動すればいいだけだし
gnuplot の話じゃないじゃん?
>>288 3.の処理を待たずに1.に戻ってるのが問題と思われ。
待つ方法を考えてみては。呼び出し方とか。
>291
違う 2. を待たずに 3. を呼んでるのが
アホ&&ヴァカたる所以
(pipe で呼び出すなら終了を gnuplot 側が待ってくれるけど)
293 :
282:2007/12/06(木) 16:38:07
結局、別プログラムでファイル数や、変数に応じてコマンドを記述したdata.gplを作成してそれをgnuで読ませることにしました。
ここで別の問題が発生し、load 'data.gpl' を実行すると、 set dgrid3d の行でエラーが発生しgnuが強制終了します。
dgrid3dを省略すると問題なく動き、手で入力しても動くのですが、なぜでしょうか?
以下 data.gplの中身です。
set terminal jpeg
set hidden3d
set dgrid3d 60,60
set pm3d
set pm3d map
unset colorbox
set palette defined ( -3 'blue' , 0 'white', 3 'red')
set output '0.jpeg'
sp [0:60][0:60][-0.0005:0.0005] 'data0' w l
set output '1.jpeg'
sp [0:60][0:60][-0.0005:0.0005] 'data1' w l
>>293 とりあえずエラーメッセージのコピペきぼんぬ
すみません、解決しました。
原因は[0:100]を[0:60]にしていたことでした。
ご迷惑おかけしました。
296 :
名無しさん@お腹いっぱい。:2007/12/11(火) 10:51:11
凡例の中の文字列(plotのtitleで指定するやつ)を斜字体(イタリック)にする方法、知りませんか?
replotと打つのが面倒なのですが、毎回自動でreplotされるような設定はないでしょうか?
298 :
名無しさん@お腹いっぱい。:2007/12/12(水) 11:36:00
300 :
297:2007/12/13(木) 00:52:23
>>299 ない、ということですか・・・承知しました。有難うございます
>>300 対話型ならいざ知らず、ファイルに書き出すのも基本的にplot/replotが行われる
タイミングで実行されるわけだから、そんなん自動化したらえらいことになる、
と考えたらいいのではないかな。なんとなくだけど。
むしろ replot あるだけで結構楽じゃん?
>>299 reじゃなくてrepでは?
それともreでaliasを張るとか…?
というか、gnuplotってalias設定できましたっけ?
タイトルに日本語を含み、x軸目盛とy2軸ラベルを回転させたグラフを
描くにはどうすればいいのでしょうか?
下のようにすると、下の(1)のようになり文字が回転しません。
日本語フォントを使わなければ(2)のようになるのですが、
当然タイトルの日本語が化けます。
本当は、首を右にかしげたときに正常に見えるように文字を回転させたいのですが、
90を270に変えても文字列全体の回転方向が変わるだけで、
文字自体の向きは変わりませんでした。
Gentoo Linux にインストールした gnuplot 4.2 を使っています。
### test.gp utf8
set terminal png medium font "/mnt/c/WINDOWS/Fonts/msgothic.ttc"
set output "test.png"
set title "日本語"
set xtics rotate by 90
set y2label "y2" rotate by 90
plot sin(x)
(1)
http://yuffie.jp/upload/files/17445.png (2)
http://yuffie.jp/upload/files/17446.png
set xtics pi
plot sin(x)
とやるとグラフの両端が切れて終わってしまうのは仕様ですか?
307 :
名無しさん@お腹いっぱい。:2007/12/26(水) 18:20:22
あるデータの散布図を描きたいんですが、
値が小さいやつと大きいやつがあるときに中間を波線で省略できませんか?
波線は別にでなくてもいいんですが、数値軸を書き換えたいです。
308 :
名無しさん@お腹いっぱい。:2007/12/31(月) 13:08:37
どなたか、乱数生成関数、
rand(x) の使い方を教えて下さい。
x に 0 0.5 1.5 など、いろいろ
入れても、1.00 しか返ってきません。
0 を入れた場合、数回は 0〜1の
値が出てくるが、すぐ 1.00 に張り付いてしまいます。
Windows 版 wgnuplot Version 4.2 です。
マニュアルを読んでから来てね(はあと)
310 :
名無しさん@お腹いっぱい。:2007/12/31(月) 14:22:44
308 です。
次のマニュアルを読んでもさっぱり解りません。
ちなみに私は、乱数が何であるか、そのseed(種)、
が何なのかについては知っているつもりです。
具体的に、例えば0〜1の実数を返すコードを
教えて下さい。できれば、種の設定についても。
10.1.1 Random number generator
組み込み関数rand(x) の挙動はversion 3.8l で変更されました。
古いgnuplot スクリプトで、rand(x>0) により同じ種からなる
疑似乱数列が生成されることを期待しているような場合は、
代わりにrand(0) を使うように修正する必要があります。
現在の挙動は以下の通りです:
rand(0) 内部に持つ2 つの32bit の種(seed) の現在の値から
生成される[0:1] 区間内の疑似乱数値を返す。
rand(-1) 2 つの種の値を標準値に戻すrand(x) x>0 ならば
両方の種にx の値に基づく値を設定する。
rand({x,y}) x>0 ならばseed1 をx に、seed2 をy に設定する。
>>310 ごめん、ネット工作に忙しくて作ってないわwww
312 :
名無しさん@お腹いっぱい。:2007/12/31(月) 23:02:37
308 の自己レスです。
自己解決しました。
rand(x) x > 1.00 で種の設定。
以後、rand(0) で0〜1の乱数生成でした。
rand({x,y}) x>1.00 y> 1.00 の方が良いんじゃないの?
rand({x,x})とrand(x)の比較はやって見た?
なぜ、.rmには対応していないんだVLCよ…
インストール不要でrmを再生できるのはお前だけだと信じていたのに
誤爆でした
317 :
名無しさん:2008/01/10(木) 19:04:30
vistaでwgnuplot.exeを実行して、ディレクトリからopenしたいんですが、開こうとすると終了してしまいます。
解決策はありますか?? 教えてください!
XPにすれば動くよ
319 :
名無しさん@お腹いっぱい。:2008/01/12(土) 22:22:38
質問です。
gnuplotを立ち上げる度に設定ファイルをロードするのがちょっと面倒なので、
起動するときに自動的に設定を読み込むようにするにはどうすればいいですか?
スレ違いだけど、「R」関連のスレってある?
Rだけだと、検索が膨大に出てきてどーしようもない。
tan(y) + e^(-y) = x
のグラフを書くにはどうしたらよいですか?
有料となります。
体で払うのはダメですか?
別々のカラム(例えば、3と4)に入っている文字列を連結して表示することは出来ますか?
1つのカラム(例えば、3だけ)だとうまく行くのですが、…
こんなイメージです。(↓)
plot "data.csv" using 1:2:sprintf("%s+%s",$3,$4) with lines
lineの3カラム目って何になるの?
332 :
329:2008/02/06(水) 18:50:55
>>330 普通はそうですよねぇ…、ちょっと事情がありまして
出来れば gnuplot 単独でやれないかと考えています。
>>331 こんな感じのイメージです。
1カラム目と2カラム目で (x,y) を結んで、その付近に3カラム目と
4カラム目の文字列を打ちたいと考えています。
1.1 3.14 "2008-11-12 00:34JST" Tarou
2.2 3.33 "2008-11-13 00:33JST" Jirou
2.3 2.99 "2008-11-15 N/A" Saburo
3.9 9.99 N/A N/A
4.2 3.33 "2008-11-13 00:33JST" N/A
ちょっと間違いがありました。こんなイメージです。
plot "data.csv" using 1:2 with linespoints ,\
"" using 1:2:sprintf("%s+%s",$3,$4) with labels
gnuplot だけでやろうとすると、label を2回にわけてちょっと
ずらして表示するしかないのかな?
"2008-11-12 00:34JST" って一つの要素として扱ってくれたっけ?
335 :
名無しさん@お腹いっぱい。:2008/02/14(木) 00:05:27
4.3 のバイナリかソース(cvsでないもの)
どこかに置いてませんかね?
336 :
329:2008/02/14(木) 18:06:44
329 です。いろいろと調べていたら、
using 1:2:(sprintf("%s+%s",strcol(3),strcol(4)))
で、行けそうな事が分かりました。
質問を見て(?)書いてくれたエキスパートの方、ありがとうございました。
大変に参考になりました!感謝です!
plotしたpointの近くにその値(数字)を書くのはどうしたらいいのでしょう。
やっぱり座標をあわせてlabelを置くしかないのでしょうか。
一つ前の記事を読めと言えと?
あらら、、、mOm
4.2.2以降の機能なんですね。
X 軸に時間データを割り当てたいが
元データが 19 Mar 16:59:17 みたいな感じで
help date を元に
set format x "%d %B %H:%M:%S"
ってやったら plot 時に Bad format character って言われてしまいます
そもそも help date すると
This form of the command is deprecated. Please see `set style function`.
って書いてあるけど set format x 以外に
どういうやり方をすればいいのか help set style function しても
よくわからないです… orz
342 :
名無しさん@お腹いっぱい。:2008/05/03(土) 01:36:25
月ごとの時系列データを set format x "%Y-%m" として
YYYY-MM という表記でグラフ化しています。
期間が長くなると、x軸のラベルが詰まって見難くなるのですが
文字が重ならないように間引く方法はありますか?
グラフ上で右クリックすると範囲選択できてズームインできますが、
ズームアウトするにはどうやるんでしょうか?
グラフ上でh押すとヘルプでるよ
>u `builtin-unzoom`
346 :
名無しさん@お腹いっぱい。:2008/05/24(土) 22:54:10
初めて使ったのですがcsvファイルってどうやって開くのですか?
普通にopenでは開くことが出来ないのですが
plot
348 :
名無しさん@お腹いっぱい。:2008/05/26(月) 15:10:38
いまPlot32を使ってグラフを書いているのですが
上付き文字下付き文字を入力することが出来ません。
従ってgnuplotへの乗り換えを考えているのですが
これだと可能なのでしょうか?
もちろんそうよ
y=0 (x<5)
=x (5≦x≦10)
=1 (x>10)
のようなグラフを描きたいのですが、どんなコマンドを入れればよいのでしょうか。
plot x<5?0:x<=10?x:1
だけど
plot x<5?0:x<=10?x/5-1:1
だと思う
意味がわからなかったら三項演算子でググれ
gnuplotを起動したときに最初に出る↓のようなロゴ(?)を抑制する方法ってないでしょうか?
G N U P L O T
Version 4.0 patchlevel 0
last modified Thu Apr 15 14:44:22 CEST 2004
なんで?
うざいから
ウザイなら使わなきゃいいんじゃね?
はい、次!
gnuplotは対話的には使わんし、まぁそんな気にならん>ロゴ
358 :
350:2008/06/22(日) 23:45:25
>>351 ありがとうございます!
慣れてないと使いづらい…
359 :
名無しさん@お腹いっぱい。:2008/07/09(水) 20:07:12
斜方投射の奇跡の式なんですが・・・
y=tan(r)*x-((g*x*x)/(2*v*v*cos(r)*cos(r))
とやったらマイナスのグラフが明らかに違う形になりました。
どこがおかしいのでしょうか?
360 :
名無しさん@お腹いっぱい。:2008/07/25(金) 00:05:48
emacsで作ったkk.cの出力をaa.datにに保存するコマンド教えて下さい
あとこのaa.datをgnuplotにプロットする方法おしえてください
> emacsで作ったkk.cの出力をaa.datにに保存するコマンド教えて下さい
質問の意味が分からないが、gnuplotと関係ないので、他で聞いてくれ
> あとこのaa.datをgnuplotにプロットする方法おしえてください
gnuplotを起動して plot "aa.dat" と打つ
詳細を手取り足取り教えるのは無理なので、
http://t16web.lanl.gov/Kawano/gnuplot/ などを参考にしてくれ
ネタにしてはイマイチだがもしかしてリアル小学生か?
363 :
名無しさん@お腹いっぱい。:2008/07/25(金) 23:16:54
素人の質問なんですが、
gnuplotって、ビデオカードの性能求めますか?
夏休みの宿題は自分でやってこそ意味があるんだ
365 :
名無しさん@お腹いっぱい。:2008/08/03(日) 19:39:01
gnuplotって10**10以上って認識しない?
1e10 でもだめ?
367 :
名無しさん@お腹いっぱい。:2008/08/10(日) 06:25:28
gnuplotでdatの画像ファイルを可視化したいのですが、
どなたか教えていただけませんでしょうか…。
三次元(x,y,明度)で書かれたファイルを平面上で
グレーの画像にしたいのです。
#ID X Y DATA FLAG
0 0 0 0.556 0
1 1 0 0.358 0
2 2 0 0.488 0
3 3 0 0.506 0
4 4 0 0.347 0
……
というdatファイルを読み込んで、
(x,y)座標にあるひとつのドットの明度が
"DATA"の値です。
ネットで検索して、
plot "ファイル名" with image
などといろいろ試したのですがどうしても分かりません。
お願いします。
with imageって使ったことないけど
> splot "ファイル名" using 2:3:4 with image
とかじゃね?
set pm3d map
set palette gray
splot x*y
winの4.0.0で
起動時に初期ディレクトリを指定場所に変更する方法を教えてください
>>370 ショートカットのプロパティで作業フォルダを変更する
2列で数万行あるデータファイルに対して
1列目をX軸 2列目をY軸の2次元プロットする際に、
例えば、0〜5000行目、5001〜10000行目という風に行範囲を指定して
プロットさせる方法を教えてください。
unix 環境なら
0〜5000行目: head -5000
5001〜10000行目: head -10000 | tail -5000
もしくは awk '{if (NR<10000 && NR >5000) print}' で抜き出せるので
plot '< awk ...' みたいにする
さんくす。できました。
もう少し教えてください。
ファイル hoge に
num=num+1
plot " < awk '{if(NR<(num*100) && NR>((num+1)*100))print}' aheahe"
if(num<100) reread
って書いて
num=1
load 'hoge'
でアニメーションで表示したいんだけど
numをawkに渡せなくて困ってるんですが、方法をおしえてください
>>plot " < awk '{if(NR<(num*100) && NR>((num+1)*100))print}' aheahe"
plot " < awk '{if(NR<(num*100) && NR>((num+1)*100))print}' num=$num aheahe"
とか?
エラーで無理でした…
すごーくどうでもいいが
plot " < awk '{if(NR<(num*100) && NR>((num+1)*100))print}' aheahe"
は
plot " < awk '{if(NR<(num*100) && NR>=((num+1)*100))print}' aheahe"
か
plot " < awk '{if(NR<=(num*100) && NR>((num+1)*100))print}' aheahe"
じゃなかろうか…
>373 がちょっと間違ってるのはオラのせいですが気づいてよ
GAWKならもしかして上のでいけるのか!
LINUXです
かなり以前、solaris(sun OS だったかな ....)だったかに付属
のawkでは、引数が渡せなくて、gawkやnawkを入れた
記憶があるような、ないような。
LINUXだと、awk自体、もともと、gawkかね?古い環境だったり
するようなら、ソースをコンパイルしてみては?
MacOSX環境だけど、bash環境で、
$ awk -V
awk version 20040207
$ export a="123"
$ echo "" | awk '{ print a }' a=$a
123
$ echo "" | awk -v a=$a '{ print a }'
123
bash かどうかは関係なくね?
蛇足かもしれんが、とりあえず、export a=... が使えるシェルってことで。
windows環境なんですが
gnuplotで出力したepsファイルを、
ghostscriptで見たりtexに貼り付けてdvi出力してdvioutで見ると、
何本も線を引いたはずのグラフなのに一本しかでなかったり、ずれて二重表示になったりします。
ですがdvioutからpdfを出力したり、印刷したりするとまともに直っているので
表示だけがおかしいみたいです。
gnuplotのepsはghostscript等で表示できないのですか?
386 :
名無しさん@お腹いっぱい。:2008/08/25(月) 00:15:54
387 :
名無しさん@お腹いっぱい。:2008/08/26(火) 08:03:14
はなしそれてすみません。
gnuplot→eps→tex→dvipdf→pdf
と変換しているのですが、PDFのファイルサイズを
極力小さくしたいです。epsのサイズが支配的なので
set term postscript のオプションとかで
何とかならないでしょうか?
ちなみに、dvipdfでそれなりに圧縮はかかっているようです。
いい忘れました。
PDFは、小さめのグラフを沢山並べて、
拡大して細かいところまで見たいので、
PNGとかGIFはあんまり考えてないです。
390 :
名無しさん@お腹いっぱい。:2008/09/07(日) 00:37:42
x-y-z座標上に、f(x,y,z)の値を色で表示したいんですが、gnuplotで
そういうことはできますか? できるのなら方法を教えてください。
>>388 acrobatでpdfを開き、最適化保存するのがいいんじゃない?
タダソフトは難しそう
>>390 (x,y,z,f(x,y,z))を表示するのですか?
x,y,z は独立変数ですか?
GNUPLOT でなくても、4次元プロットは無理だと思いますが。
それとも、x,y,z の間には何か関係式があって、
x,y,z 3次元上で、2次元曲面とか曲線、点で表されていて、
その面(線、点)場に色付けしたいということでしょうか。
私が何か勘違いしていたらごめんなさい。
>>392 (誤)面(線、点)場に色付け
(正)面(線、点)上に色付け
394 :
名無しさん@お腹いっぱい。:2008/09/07(日) 15:45:19
>>392 もっと詳しく書くべきでしたね。
x,y,zは独立変数で、点P(x,y,z)に、値f(x,y,z)を色で示したいのです。
例えばfは[0,9]の任意の値をとり、これも例えばfが0なら黒、1なら灰…9なら
赤というように色を点Pにmappingできないかということです。
温度やら電界強度やらを示すために需要があると思うのですが。
gnuplotでできなくても他に方法があれば教えて下さい。
>>394 いわゆるスカラー場ですよね。できればベクトル場も表示できると嬉しい・・・
>>392 ああ、3次元の点に色付けを考えているのですね。
やや大きめのポイント●をプロットして、
f(x,y,z)の値別に色分けということですか…
私でしたら、あまりスマートな方法ではないかもしれませんが、
まず、GNUPLOT を使う前に、スクリプトなどで、
f(x,y,z)の値別に、(x,y,z) の三次元データファイルを分割します。
file0.dat ( 0 <= f(x,y,z) < 1 )
file1.dat ( 1 <= f(x,y,z) < 2 )
...(略)
file9.dat ( 9 <= f(x,y,z) < 10 )
それで、GNUPLOT からはファイルごとにポイントの色指定をします。
set pointsize 2
splot "file0.dat" with points linetype 1 pointtype 7, \
"file1.dat" with points linetype 2 pointtype 7, \
...(略)
"file9.dat" with points linetype 9 pointtype 7
こんな感じでしょうか。
X画面表示とPS などで出力するときは、
表示のポイントの形などが違っていたりするので、注意して下さい。
>>394 vector スタイルでかけませんか?
>>391 やっぱりそうか...。
とりあえず程々の圧縮で
我慢します。
>>398 set term pdfで吐かせたpdfの図を使うという手もあるな
諸々面倒だからあまりお勧めしないが
>>398 てか君の場合、単にプロットしてるデータの量が多すぎるんでしょ。
それをベクターグラフィックのフォーマットで圧縮しようったって無理。
データ点そのものを少なくするか、ビットマップのフォーマットに変換するしかないでしょ。
>>400 ある意味そのとおり。
拡大して細かいところまで見るので、
データを間引くわけにはいかないし、
同じ理由でビットマップも厳しいかなと思ってます。
(ちゃんと比較してないけど)
圧縮アルゴリズムが選択できたりしないかななどと
思ってたんですが...
>>399 set term pdfってあったっけかな...
あったら試してみます。
>>401 gnuplotのソースを改造してみたら?
postscript/pdfを掃き出す関数があるはずから、そこを圧縮版に変更するんだ
常識的に考えて、こんなフリーソフトが圧縮出力に対応しているとは思えない
398さんではありませんが、技能があったら挑戦してみたいですね。
需要ありそうだから、既に誰かがやっているかもしれませんが、
検索にひっかかりません。
ということは、一筋縄ではいかないのでしょうね。
そこまでスキルないです...。
405 :
352:2008/09/18(木) 17:11:07
今更ながら自己解決
「gnuplot - 」でスタートアップメッセージ省略できました。
三次元splotで、z、y軸だけset size suqarしたいんだけど、やり方おしえてください。。
だれかおしえてやれよ。
ちなみにオレはわかんね。
いちお、保守。
gnuplotで波動関数を描く方法をおしえてください。
釣り?
>>409 一次元で一個しかないやつとかなら普通のプロットでもしてください
いや、3次元のを描きたいんですけど
たとえば、水素原子の2p軌道とか、どうやってやるんですか?
Gnuplotかぁ…、嫌いじゃないけど文法に一癖あるような、
そろそろ寿命かな。
寿命認定は勝手にすれば良いけど
いまさらそんな理由かよw
いい代替はあるのか?
>>416 ないよなぁ。SやRはもっと癖があるし、Octaveも然り。
本もそろそろ出してほしいな。
4.2 か 4.3 をターゲットとして、
gnuplotにデータ処理までさせるのか?
420 :
名無しさん@お腹いっぱい。:2008/10/08(水) 23:18:23
gnuplot最高
421 :
名無し:2008/10/09(木) 02:02:59
大きさLのセルの中に直径mの球をn個発生させてモンテカルロ法によるs回のステップによってセル内で球体を動かし、
そのときの動く様子をグラフィック表示したいと考えています。
(自作のプログラムでは球同士が重ならないように条件を設定している。また周期境界条件によってセルから玉がはみ出すことも考えられる。)
gnuplotでs回分の玉の移動をグラフィック表示できますか?もし可能ならばその方法について教えてください。
よろしくお願いします。
※自作のプログラム(Fortran77で記述)上で設定した球に関するパラメータ
・重心の位置(x,y,z座標で表現。必ず0≦x≦L,0≦y≦L,0≦z≦Lを満たすとする。)
・球の直径(m)
・セルの長さ(L)
422 :
名無し:2008/10/09(木) 02:03:41
大きさLのセルの中に直径mの球をn個発生させてモンテカルロ法によるs回のステップによってセル内で球体を動かし、
そのときの動く様子をグラフィック表示したいと考えています。
(自作のプログラムでは球同士が重ならないように条件を設定している。また周期境界条件によってセルから玉がはみ出すことも考えられる。)
gnuplotでs回分の玉の移動をグラフィック表示できますか?もし可能ならばその方法について教えてください。
よろしくお願いします。
※自作のプログラム(Fortran77で記述)上で設定した球に関するパラメータ
・重心の位置(x,y,z座標で表現。必ず0≦x≦L,0≦y≦L,0≦z≦Lを満たすとする。)
・球の直径(m)
・セルの長さ(L)
つまりアニメーションさせたいんだよネェ
単体では無理じゃないかなぁ
自作のプログラムとプロセス間通信するか(命令投げるだけだけでいけるからかなり簡単だけど・・)、
gnuplotのスクリプトファイルをフレーム別にいっぱい用意してシェルスクリプトか何かで順番に実行してくとか
424 :
名無しさん@お腹いっぱい:2008/10/09(木) 04:24:32
wgnuplot.exeをコマンドラインから起動する場合に、gnuplot>cd ではなく、起動時引数で作業ディレクトリを変更することは可能でしょうか?
例えば、wgnuplot.exe -path "hoge\\hoge" のようにすると作業ディレクトリがhoge\hogeで立ち上がるという動作をさせたいのですが・・・
>>421 アニメ自体は時間毎の絵を後から繋げばいいけど、
そもそもgnuplotでは沢山の球を書くのがめんどい。
他の可視化ソフト探すか、OpenGL叩くかした方がいいよ。
さっき研究室の友達がギニュープロットって言ってた
訂正してあげた方がいいのかなぁ
ニューギニア?
面白いから言わせとけ。
ギニュープロット
リクームプロット
ジースプロット
バータプロット
グルドプロット
それは面白くない。
もう「牛乳プロット」で良いや。
GNU とは無関係だから
「にゅーぷろっと」なんだろうけど、相手に通じない。
「ぐにゅぷろっと」がうちの研究室じゃ一般的だな。
GNOME は「ぐのーむ」
GIMP は「ぎんぷ」?「じんぷ」?
まぎらわしい。
が、「ぎにゅー」は新種だ。
偽乳ぷろっと
メラミン入り。
にゃ
436 :
名無し:2008/10/18(土) 21:49:48
3個の半径aの球をs秒毎に3次元で表現したいと思っています。
球の中心の座標は一辺10のセル内(0≦x≦10,0≦y≦10,0≦z≦10)に存在するとします。
球の中心の座標はバイナリファイル「zahyou.plt」にかかれているとします。
<zahyou.plt>
8.999 3.888 1.999
2.666 3.488 7.999 @
2.333 4.999 4.555
1.223 2.333 4.555
2.556 9.008 5.666 A
2.334 6.904 2.444
3.223 2.243 4.105
3.556 6.345 5.298 B
7.334 8.904 9.444
・
・
・
@、A、Bは3つの球の中心の座標です。
@から順にs秒毎にデータをgnuplotに読みこませて球を表示させて3つの球が動く様子を観察しよう
と考えています。
(s秒後には@のみ、2s秒後にはAのみを読み込む)
しかしgnuplotの使い方が未熟であるためその方法がいまひとつわかりません。
もしよければどなたかアドバイスを頂けませんか?
それ(アニメ)をなぜ gnuplot でやろうと思ったのでしょう?
438 :
名無し:2008/10/19(日) 02:30:15
>437さん
データを読み込んでグラフィック表示する方法としてgnuplotを用いたのは、
グラフィック表示に関する専門知識を勉強する時間をあまり必要としない
一番簡単な方法だと考えたからです。
グラフィック表示させることに関してあまり時間はかけられないので。
gnuplotを用いることに特にこだわりはないです。
他に何かいい方法があればこしたことはないですが・・・。
gnuplotにはifとかあとループする機構はあってもsleep的なものはないので無理かと
他の言語からgnuplotにプロセス通信したほうがいいんじゃないかと
少なくともpythonとcにはそのためのライブラリがつくられてることだし
やることはgnuplotの文書くのと変わらんし
sleep使うようになるだけで
画像を3枚吐き出してそれを何とかするほうが早いと思うよ
>>440 同意。
425さんも言っているけど、質点でなく、球体だからなぁ。
時刻毎の静止画かかせてアニメ化するほうが早いと思う。
グラフィックに時間をかけたくないということは、
レンダリングソフトなんかは使いたくないということですよね。
438さんの OS 環境がわからないけど、yaplot なんかいかが?
VTK とかを調べてみる方が
gnuplot のアクロバティックな使い方を追求するより建設的じゃね?
443 :
名無しさん@お腹いっぱい。:2008/10/19(日) 19:38:56
gnuplotに関する質問はこのスレでOKですか?
xrangeはautoscaleとして、その時に設定された範囲と同じようにyrangeを定めたいのですが、
やはりgnuplotでは難しいのでしょうか?
444 :
名無し:2008/10/20(月) 01:57:18
>441さん
OSはLinuxを使用しています。
445 :
船木康博:2008/10/20(月) 07:50:56
日本には四季があるねぇ。
秋ならぶどうかな?
Linux系は種類が多いでさぁ、
ペンギンもいるし、ユーザーには選択の自由があるでよぉ。
コンパクトで軽量な日本語ディストリビューションの、
Vine Linuxもいいかなぁ。
http://vinelinux.org/ サーバー向きか端末向きか、有償サポート付きか選べるしね。
SUNだって、無料なら使ってもいいらし。
NSPIXPは、FreeBSDを採用しているかもしれねぇし、
安定してきたLinuxカーネルかMicrosoftのWindowsかもしれねぇしさぁ。
2000年12月号掲載 よしだともこのルート訪問記
http://www.tomo.gr.jp/root/new/root69.html
>443
x,y ともに autoscale (自動)なんだけど
range は xrange == yrange になってほしい(y=x が対角線になってほしい)
って意味でしょうか?
だとするとgnuplot にはないかもね
自分だったら毎回 xrange,yrange セットしてます
448 :
名無しさん@お腹いっぱい。:2008/10/21(火) 21:51:20
バイナリデータの読み込みについて質問させて下さい.
以下のようなデータが書き込まれているバイナリのデータファイル
0.1 0.3 0.9
0.1 0.4 0.9
0.1 0.5 0.9
0.1 0.6 0.9
0.1 0.7 0.9
(実際にはスペースや改行が無いdoubleの数値の羅列)を読み込んでグラフを
出したいのですが,どうすれば良いでしょうか?
上のがテキストファイルだった場合は,例えば
> plot "datafile.txt" using 2
のようにすれば2列目をY軸に取ったグラフができると思うんですが,
それと同様のことがしたいです.
> plot "datafile.bin" binary format="%double"
に続けるコマンド:何個目までが1行,というような指定のしかたが分からなくて・・・
よろしくお願いします.
449 :
名無しさん@お腹いっぱい。:2008/11/06(木) 01:30:03
gnuplotについて質問させてください。
以下のような内容をgnuplotに読み込ませてグラフを表示したところ、
2つあるグラフのどちらもX軸付近で途中で消失してしまっているのですが、
これを解消するためにはどうすればよいのでしょうか?
set xlabel"X-Axis"
set ylabel"Y-Axis"
set xrange[-300:20]
set yrange[0:200]
f(x) = (((19**(0.5)-1)**2)*10*(10-x))**0.5
g(x) = (15269.5449 - (x + 153.57)**2)**0.5
plot f(x) ,g(x)
初歩的な質問だとは思うのですが、よろしくお願いします。
適当にでいいなら set sample でサンプル点数を増やす
きちんと最後まで線を引きたいなら、set parametricで媒介変数表示する
ありがとうございます。
うまく描写できました。ほんとうに感謝です。
線の色と種類(実線・破線)を任意に指定することってできないんですか?
line type の一覧を用意して見比べる
454 :
452:2008/11/07(金) 16:15:37
>>454 それってsolidやdashedのterminal設定にしてるべ?
そしてうちのHelpにはlinetypeの所で
linestyleで種類/linecolorで色変えられるって書いてある
ごめん、ごめん
× linestyleで種類
○ linetypeで種類
457 :
452:2008/11/08(土) 17:55:16
>>455 terminalは以下に設定しています。
set term x11 enhanced font "helvetica,18"
linecolorは4.2からのようです。けっこう色々と進化してるんですね。
母乳ぷろっと
具乳、ぽろっと
ぐっじょぶ
gnuplotの読みはニュープロットなわけだが
乳、ぽろっと
もう乳プロットで良いや。
やめろおまえら
原点を分かるようにするために黒丸を表示させたいのですが
そういうコマンドってありますか?
plot "< echo 0 0 "
おまい頭いいな。
gnuplotが扱える数値の範囲ってどれくらいですか?
ボルツマン定数 Kb 〜 10^-23すら扱えないので困っています
普通の double float で演算してるんじゃないの?
print 10**-23
じゃだめだけど
print 10.**-23
print 1e-23
ならいける
471 :
468:2008/11/23(日) 08:09:31
おお、ありがとうございます
472 :
名無しさん@お腹いっぱい。:2008/11/23(日) 22:50:39
最新版に近い本ってありますか?
473 :
名無しさん@お腹いっぱい。:2008/12/01(月) 17:00:41
pm3dでxy平面状の値を視覚的に解るようにグラフ化しているのですが
xは60点、yは4点と縦長なグラフに出力したいのですが正方形のグラフになってしまいます
set sizeもz軸とxy平面しか変化しないので・・・ どうすればいいのか教えていただけないですか?
>>473 set pm3d でのことですか?
xが60点、yが4点と縦長というのもよくわからないのですが…
60:4 の長さの固定比にしたいということでしょうか。
正方形のグラフというのは、
set size square
にしたということなのでしょうか?
splot でベースのxy平面が正方形に見えるということなのでしょうか?
単位長さを実比で固定するのであれば
set size ratio -1
とか?
保
splotで3次元の散布図を描いているのですが
set xrange [-10:10]
set yrange [-10:10]
set zrange [-10:10]
のときにZ軸を(x,y)=(0,0)に立てることはできますか?
実験データをplotしたいんですけど、図が表示されません。
データはgnuplotのあるbinファイルに入れてあります。
どうしたら表示できますか?
どっちかっつーとググる以前に RTFM!
>>477 gnuplot のインストールでこけているのか、
PATH が通っていないのか、
実験データファイルがまずいのか、
gnuplot のコマンドが間違っているのか、
…
いろいろ推測してみましたが、どれかに当てはまりませんか?
481 :
名無しさん@お腹いっぱい。:2008/12/25(木) 19:11:56
gnuplotの2次元データで非常に長いグラフを作成したとき、
マウス操作でグラフをスクロール出来ますか?
教えてください、よろしくお願いします!
gnuplot じゃないものではそういうことができるのは
いくつかあるけどね…
titleを、title "a_b" とかすると「_」が特殊文字と解釈されるのか、aに下添え字bが付いたものに
なってしまうのですが、titleの""内をそのままに表示するにはどうしたらいいでしょうか?
\でエスケープすればいいかなと思いましたが、駄目でした。
a\\_b
485 :
483:2008/12/28(日) 17:28:02
>>484 ありがとうございます。\\_で添え字じゃなくなりました。
ただ、何故か文字サイズが通常より半分ほどに小さくなってます。
通常のサイズにすることはできますか?
無理
とりあえず、terminalは何?
postscriptかな?
488 :
483:2008/12/30(火) 23:19:07
>>487 set term x11 enhanced font "helvetica,18"ってしてます。
見た目と実際出力したのは微妙に違うって話を聞いたことがあるので、もしかしたらそれかも・・?
自分は画像をプリントするときは、何かに出力したりせずにPrintScreenでコピる使い方
してるので、もしそうならちょっと不便ですね。
ps,epsだと、
set term postscript enhanced solid 22
で文字の大きさを変えられるんだど、(最後の22で文字の大きさを指定)
x11はあまり使わないのでよく知りません。ゴメンナサイ
x11 はどうせ postscript との一致が低いから
データマイニングのときは兎も角,
フォントを気にする段階では
postscript に吐き出したのを gv で随時チェックする
方がやりやすいですねー
postscriptは論文でもない限り使わないなあ
任意列の任意行の値を取得することってできますか?
ナニの?
terminalはみんな普段何にしてるの?
post
使ったことないterminalいっぱいあるな
昔のことはよく知らんのだが、昔は端末も百花繚乱だったのかしら
あ、群雄割拠と言うほうが適切か
>>494 ubuntu なので terminal は wxt
プリントアウトするときは postscript
論文用の図を作るときは svg で出力して inkscape でいじる。
499 :
492:2009/01/05(月) 17:50:53
やりたいことを具体的に書きますと、以下の2列のデータについて
10 123
20 456
30 789
・・・
1列の1行「10」と2行「20」の差をd=20-10のように取って
using 1:($2-d)みたいにプロットしたいです。
横から失礼
>>498 >論文用の図を作るときは svg で出力して inkscape でいじる。
自分もほぼ同じOSで同じ事してますが、pm3d map なんか使うと
300x300くらいのデータでも重くて inkscape じゃマトモに編集できなくありません?
inkscape 0.46 はバグ持ちで、以下のような問題がある
http://pc11.2ch.net/test/read.cgi/cg/1216093445/93-96 ので、修正用 extention 使わざるを得ないのですが、
pm3d で出力した十数MB程度のファイルではフリーズしてしまってもう extention が使えません
というか、そもそもファイルを inkscape で開くだけであまりに重くて実用に耐えません
OS は Linux Mint 5 Xfce、CPU は C2D E8500、メモリは 3GB あって
これ以上ハード面の増強も難しいのですが、そちらはどうされてますか?
>>500 > 自分もほぼ同じOSで同じ事してますが、pm3d map なんか使うと
> 300x300くらいのデータでも重くて inkscape じゃマトモに編集できなくありません?
デキナイネ。
そういうのはテキストなしのプロットをpngで出力して、
それをinkscapeでsvgファイルに貼り付けてテキストを付け足してます。
> inkscape 0.46 はバグ持ちで、以下のような問題がある
>
http://pc11.2ch.net/test/read.cgi/cg/1216093445/93-96 > ので、修正用 extention 使わざるを得ないのですが、
> pm3d で出力した十数MB程度のファイルではフリーズしてしまってもう extention が使えません
> というか、そもそもファイルを inkscape で開くだけであまりに重くて実用に耐えません
いさぎよく0.45使ってます。
まあこっちでも色属性の継承にバグがあるんだけど、(グループ解除すると線が消えたりする)
とりあえずgnuplotから生成したてのsvgファイルはちゃんと見れる。
0.47では解消するようなので気長に待ってます。
>>498 gnuplotで行間の処理はできないので、
事前に適当なコマンド/スクリプトで加工しておくか、
!で呼び出すことが必要
>>501 やはり svg のままじゃ無理ですかね…
現状では gnuplot の png 出力はアンチエイリアス処理が出来ないので
svg 出力してから imagemagic で png にコンバートしてますが、gnuplot のせいか imagemagic のせいか、
これはこれでおかしな具合に半透明(アルファチャネルの値が斑状?)なものが出来たりして、微妙です
正式に gnuplot のバージョンが上がれば、png を cairo で出力するようになって
綺麗なビットマップ出力ができるんでしょうけど
inkscape 共々バージョンアップが待ち遠しいところです
>496
すげー昔に PC9801 でも試用した記憶はあるなー
506 :
492:2009/01/06(火) 12:01:49
>>502 レスありがとうございます。
>>499のデータのファイル名hoge.datについて、シェル上で
d1=`head -1 hoge.dat | awk '{print $1}'`
d2=`head -2 hoge.dat | tail -1 | awk '{print $1}'`
d=`echo "$d2-$d1"|bc`
として取得できますが、このdをgnuplot上に渡す方法が分かりません。
! d1=`head -1 hoge.dat | awk '{print $1}'`
! d2=`head -2 hoge.dat | tail -1 | awk '{print $1}'`
! d=`echo "$d2-$d1"|bc`
print d
というふうにサクッとできれば良かったんですが・・・
何か方法ないでしょうか?
それ以上ややこしいことをやりたかったら
正直 gnuplot じゃなく他の処理系を使うべき
◇ python(numpy)上で処理 して gnuplot.py に渡すなり
matplotlib で別のグラフ化エンジン使うなり
◇ R で全部
◇ (そのほか君の好きなやつを並べる)
508 :
492:2009/01/06(火) 13:46:57
>>507 これ以上グチャグチャしてきたらそうします。
結局、
>>506のような「gnuplotのshellコマンドからgnuplotへ値を渡す」のは不可能
という理解で正しいのですか?
>>508 シェルスクリプトが書けるんなら、
元のデータから欲しいデータを計算するようなシェルスクリプトを書いて、
plot "< hoge.sh"
とすればプロットできる。
(hoge.shはシェルスクリプトの名前。実行可にして、フルパスで書かないとだめかも)
結局その shell script にいろいろなデータ処理が入ってきて…
ってことでしょ
511 :
492:2009/01/06(火) 17:56:05
色々調べましたが、やはり
>>508の理解で正しいようですね。
素直にスクリプト書くことにします。
512 :
名無しさん@お腹いっぱい。: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
ってなってしまう。
なんも悪いことしてない気がするんだけどなぁ。
だれか極座標マスターいたら教えてくれい。
>>512 軸上の数字はその点での動径座標の値を示してるんだからその表示で正しい。
514 :
名無しさん@お腹いっぱい。:2009/01/06(火) 19:56:17
>513
だよなぁ。
隣の人にも同じコマンドでプロットしてもらったんだけどだめだった。
最新版のバグなんだろうか。
わけくさらん。
おいおい・・・バグじゃないんだっつーの
極座標表示ではそれが正しいんだよ
516 :
名無しさん@お腹いっぱい。:2009/01/06(火) 21:29:07
これはデータがおかしい。
本来極座標表示するべきデータじゃない
518 :
名無しさん@お腹いっぱい。:2009/01/07(水) 16:39:21
じゃ結局set polarで極座標にすると目盛にマイナスを表示することはできなくなるでおk?
自分で数字打てないか
eps出力について質問させてください。
set size square
set xrange [-1:1]
set yrange [-1:1]
でグラフを正方形にしたのですが、出力されるeps形式のファイルをTeXで使用すると、
横長の長方形の画像の左側に正方形の領域が寄ってしまって右がわに余白の領域が生まれてしまいます。
TeXの設定でなく、epsファイル自体の余白なのですが、出力の余白の設定などできますでしょうか?
少なくとも昔の gnuplot では × だね
いまは改善されてるかしらないけど
epsのバウンダリーボックスを直接書き換えるのが一番はやいと思うけど
hoge.epsの6行目
%%BoundingBox: 50 50 410 302
これね
eps2epsで余白切ってもらうな、自分は
set term postscript のオプションでも
バウダリーボックスの設定できなかったっけ?
525 :
520:2009/01/12(月) 23:05:44
皆さんありがとうございます。
>>522の方法で解決しました。
BoundingBox
バウンダリーボックス
???
まぁ境界であることに変わりはないんだから許しましょw
保守
529 :
名無しさん@お腹いっぱい。:2009/01/25(日) 02:38:09
目盛りの表記を100倍の表記にしたいんだけど
具体的には
100
1
0.01
1e-04
1e-06
という風に
これはどうすればいいですか?
logじゃだめなの?
ぐにゅー
532 :
名無しさん@お腹いっぱい。:2009/01/27(火) 02:25:35
皆で plus patch を 4系に移植しないか?
_/ ∠≠ニ二ニ≧=<´ ヘ. ', ヘ\ヽ. /
_ -‐ ´/ , -‐´、_, '⌒`^ 、 \::\ } 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'´ /::::::::/ヽ.
>>534 xの値が変わるごとに1行空行を入れなきゃだめ
Windows版の質問で板違いですが...
Windowsのコマンドプロンプトからgnuplotを起動して
pltファイルを実行してグラフを画像化しgnuplot終了。
って感じのバッチファイルを作りたいのですが、コマンドプロンプトからの実行は
可能でしょうか?可能なら例文を教えていただけないでしょうか。
よろしくお願いします。
尚、画像化するまでのpltファイルは完成しております。
>>537 いや、そのままコマンドプロンプトから
wgnuplot.exe hoge.plt
ってすればいいと思うけど。
(パスは通ってるとして)
>>538 レスありがとうございます。
そのままpltを続けて書くだけだったんですね。
明日職場へ行って試してみます。
540です。
職場で試したらアッサリ動きました。
これで毎日上司への報告がラクになります。
ありがとうございました。
質問させてください。
プロットするグラフ画像に最大値、最小値、平均値を表示したいのですが、
gnuplotだけで可能でしょうか?
>>543 データから最大値・最小値・平均値を抜き出すのをgnuplotだけでやりたいっていうんなら無理。
自分で見つけて(計算して)ラベルするしかないね
f(x) = ( sin(M*pi*x)/sin(pi*x) ) **2
M : 10とか20とかの整数
という関数f(x)をプロットしたいのですが、
上手く行きません。
具体的には、 x = n ( n:整数 )にデルタ関数のような鋭いピークを持つ関数なのですが、
nによりピークの高さが違います。(極限をとるとnによらずf(n)→M^2になるはず)
アドバイスお願いします
>>546 set sample 1000
とかしてプロット点ふやしてみ
548 :
546:2009/02/11(水) 22:06:35
>>547 上手くいきました。ありがとうございます。
549 :
名無しさん@お腹いっぱい。: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出力したら文字化けします。
日本語はまったく使っていないのですが、対処法がわかれば教えてください。
再現性のあるソース出せば良いかもわからんよ
551 :
名無しさん@お腹いっぱい。:2009/02/24(火) 02:01:28
f(x) = 8*x - floor(8*x) をプロットすると
/|/|/|/|/| ←このように連続的なグラフになってしまいます。
実際には
///// ←こういった離散的なグラフになると思うのですが、
どのようにすればそのようなグラフを描けるでしょうか?
552 :
549:2009/02/24(火) 02:28:32
>>550 調べたら、gnuplotの問題ではありませんでした。しかも、文字化けですらなかったようです。
シェルスクリプトで実行していたのですが、gnuplotでグラフをeps出力した後、
eps2epsをしたところ、文字が歪んでいたようです。
失礼しました。
553 :
549:2009/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
554 :
名無しさん@お腹いっぱい。(551):2009/02/24(火) 09:52:33
floorなんて関数あったんだ・・・
最新版について質問です
gp424win32x11.zip
gp424win32.zip
これらは何が違うのでしょうか・・
Vistaでgp424win32.zipを使用してみると、Helpファイルを見ることができず、日本語化にも失敗してしまいました
Vistaでは日本語化は不可能でしょうか・・?
557 :
556:2009/02/26(木) 15:37:57
Helpが見れない問題については自己解決しました
しかしmnuファイルを読み込めていないのか、依然日本語化は出来ないです
どうかご教示お願いします
558 :
551:2009/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
>>558 デフォルトの関数表示がwith linesになってるだろうからそれを…
>>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)で上書きされているので
見た目はうまく表示できているように見えているのだと思います。
562 :
556:2009/02/28(土) 23:14:11
どなたかヒント頂けないでしょうか・・
Vistaで日本語化出来た方はいらっしゃいますか?
>>556 Windows 使いではないのですが憶測で書きます。
gp424win32.zip はネイテブ版で gp424win32x11.zip は Cygwin 版なのでは?
mnu をコピーした後、フォント設定をしましたか?
お役にたてなかったらごめんなさい。
>>563 レスありがとうございます
なるほど、ではやはりVistaでもgp424win32.zipで大丈夫そうですね・・
フォント設定はしました
図を出すだけなら日本語は使えます
しかしXPの時と同様にmnuファイルを置き換えてもメニューの日本語化は出来ません・・
565 :
551:2009/03/01(日) 13:21:00
566 :
549:2009/03/02(月) 21:46:23
これほど応用が効かない人っているんですね。
>565は「ヘルプ嫁」と言っていた人にも耳を傾けるべし
>>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 を参照してね」
というのは、有意義な提案ですよ。
っていう意味。
にほんごでおk
569 :
名無しさん@お腹いっぱい。:2009/03/14(土) 10:44:07
gnuplotを入れてみたんですが、
plotされたグラフの線がスムーズではなく、
非常に汚く見えます。
これをフォントにアンチエイリアスをかけた後のように
スムーズにできないでしょうか?
アンチエイリアスの前に
set sample 3000
とかやってみてはいかがでしょう?
そういう問題じゃないだろ。
wxtとx11の違いみたいな。
set term postscript
573 :
569:2009/03/14(土) 18:12:40
>>571 > wxtとx11の違いみたいな。
ヒントありがとうございました。
自分でコンパイルしてwxtがつかえるようになりました。
正直、terminal=x11でのグラフは汚すぎて見れなかったのですが、
やっと普通になりました。
度々すみません。
無設定だとlineの色は赤、緑、青の順になっていると思いますが、
これをデフォルトで「青、赤、緑」としたいのですが、
どのように設定すれば良いですか?
例えば、.gnuplot などに記述できる設定があると嬉しいです。
576 :
名無しさん@お腹いっぱい。:2009/03/16(月) 03:04:34
>>575 linetype も linecolor も知っていますが、
デフォルトの設定を上書きする -- 例えば .gnuplot などに記述でき、
自動的に読み込まれる -- 設定を探しています。
紹介されている方法は、plot毎にlinestyleを指定しなければならず、
なんとかこれを回避したいわけです。
そういった設定方法はありますか?
577 :
576:2009/03/16(月) 03:51:19
取り敢えずgnuplotのCソースレベルで直しておきました。
本当は良くないのですが、一時的な処置です。
>>576のやり方を知っている方がいれば教えてください。
>>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
579 :
576:2009/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' は意味があまり合っていないような気がしますが、
そうなってるんですから仕方ないですね。)
ありがとうございました。
>>578をやってみたがうまくいかん
と思ったら、linecolorの指定ってv4.2からなのか・・・orz
581 :
576:2009/03/27(金) 13:48:18
582 :
576:2009/03/27(金) 13:51:10
583 :
576:2009/03/28(土) 09:13:33
一応 gnuplot 4.3 のマニュアルをチェックしてみましたが、
今のところ、マウスで特定の line をトラッキングする機能
(例えば、
ttp://www.google.com/finance?q=spy のフラッシュが
実装しているような機能) は gnuplot にはないようですね。
誰か、このような機能を実装した方、もしくは同様のパッチを
持っている方はいませんか?
これってVistaに対応してる?
データ用のPC変えようと思ってるんだが・・
585 :
576:2009/03/28(土) 13:59:42
>>584 私はVistaを触ったことすらないですが、
明らかに
>>564さんはgnuplotをVista上で動かしてますね。
普通に動くのではないでしょうか。
CVS HEADって何すか?
派生gnuplot?
CVS で取ってこれる最新版のこと。
thx
589 :
名無しさん@お腹いっぱい。:2009/04/09(木) 08:29:21
TeX の eepic で出力しています。
プロットのマーカーを変えるときは
エディタで開いて置換しているのですが、
gnuplot のコマンドでできますか?
OS は UNIX ではなく Windows Vista で、
gnuplot はたぶん最近のバージョンです。
グラフの凡例内のタイトルって、デフォルトで右揃えになってますが
左揃えにする方法はありますか?
591 :
名無しさん@お腹いっぱい。:2009/04/09(木) 16:06:42
set key reverse
592 :
590:2009/04/09(木) 17:15:58
>>591 ありがとうございます。
残念ながら、それだと線とタイトルが入れ替わるだけで、タイトルは右揃えのままでした・・・
set keyで色々設定できるんですね。
widthとかspacingとかsamplenなどは便利そう。
593 :
名無しさん@お腹いっぱい。:2009/04/11(土) 14:12:26
win版で、プロットしたグラフをクリップボードに取り込むコマンドはないですか?
メニューからではなく、スクリプトの中で実行したいのですが。
594 :
名無しさん@お腹いっぱい。: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は色を赤に
するにはどうすれば良いですか?
いつも↓のようなスクリプトを書いて、./tmp と実行しているのですが、
$ cat tmp
#!/usr/bin/gnuplot
plot "file"
pause -1
これをシェルスクリプトみたいに、plotするファイルを引数で./tmp fileと与えて、plot "$1"という感じで実行できないでしょうか?
>>594 自己解決しました。
ここで聞くより、自分で色々試した方が問題が早く解決するみたい。
>>595 「plotするファイル」の意味がわからないけど、
#!/usr/bin/gnuplot
load "$1"
じゃだめなの?
597 :
595:2009/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の表示だけで済ませたいです。
ヒアドキュメントを一回ファイルに落として、そのファイルをgnuplotに読ませるとか。
もっとうまいやり方もあると思うけど。
そこまでやるか?って感じになるけど、expect使えばできそうな。
shell の関数つくってそっちで頑張る方がいいんじゃない?
要求条件にも寄るけど
gnuplot自身には引数を渡す能力はない
ここから先はgnuplot関係ないから、わかんなきゃシェルスクリプトのスレかくだ質で聞いた方がいいよ
もしかしてこれVistaだと日本語化出来ないのか・・
しくった、新しいPC買ったのに駄目駄目だ
英語力が問題になるとは
603 :
595:2009/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"とするのと、おそらく等価なのでしょうね。
>>603 何を困っているのか理解せずに投下
#!/bin/sh
cat <<EOF > tmp1
plot sin(x)
pause -1
EOF
gnuplot tmp1
rm tmp1
普通にpause -1は効いているようだけど。
605 :
595:2009/04/14(火) 15:08:52
>>604 そうなんですか・・・自分の環境が変なのかもしれませんね。
バージョンは4.0 patchlevel 0、OSはRHEL4WSです。
少し古めの環境といえるかも
606 :
604:2009/04/14(火) 21:48:56
実際に提示したスクリプトを試したら、環境うんぬん
って話にはならないと思うけど。
>>604 その方法は単にgnuplotにスクリプトファイルを渡してるだけであって
>>603の言う「標準入力リダイレクトやヒアドキュメントを使う場合」
じゃないんだが
gnuplotって日本語使えます?
言葉足らずでした。
gnuplotってタイトルやラベルに日本語使えますか?
使えるよ。
612 :
名無しさん@お腹いっぱい。:2009/04/19(日) 04:23:20
linuxを使ってください。
絶対に後悔はしません。
作業効率もはるかにアップします。
windowsのgnuplotもlinuxのと変わらんでしょ?使ったことないけど・・・
自分はwindowsからlinuxにログインしてXを飛ばしてますが
615 :
名無しさん@お腹いっぱい。:2009/04/20(月) 15:48:31
>>556と同じような症状ですが・・・
gp425.win32.zipを解凍後、日本語化キットを入れてみたのですが、やはり日本語化できません
WinHlp32.exeも入れてみたのですが、ヘルプすら表示できないです
vistaではやはり無理なのでしょうか?
>>614 wxtって何?と思ったら、4.2以降からのデフォtermなのね
そんなにいいものなの?自分4.0なので・・・早くうpだてしなきゃ
Xよりぐっと綺麗になるよ。wxt
そうなんだ。そりゃ楽しみだ
Y=Xのグラフを量対数で書きたいのですがエラーがでます…
どなたか教えてください
set logscale xy plot [0.01:100] x とか
set logscale xy
plot [0.01:100] x
622 :
名無しさん@お腹いっぱい。:2009/05/04(月) 22:24:21
グリッドを細かい破線と太い実線で2種類同時に書きたいのですが、
何か良いアイディアはないでしょうか?
set xtics 何とか
set x2tics 何とか
set grid xtics x2tics
だと両方共破線で書かれてしまいます。
623 :
名無しさん@お腹いっぱい。:2009/05/06(水) 09:07:25
mxtics?
Gnuplot Q&A 掲示板で
ttp://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もってないもので^^;
626 :
名無しさん@お腹いっぱい。:2009/05/13(水) 08:45:50
メモ帳ですらエンコード指定できるのに・・・
どうみても過疎ってる
∈(・ω・)∋グヌー
splotについての質問。
半径1の球を描きたいのですが、条件として、表面を特定の色で塗りつぶしたいのです。
>>625 そうかも知れませんが,
>MS-Windows Vista だと今までの日本語化キット (wgnuplot-ja.mnu)
で日本語化できない、という意見がいくつか上がっています (556, 557, 562,
564, 602, 615)。
(556, 557, 562, 564, 602, 615)はここの板のスレの番号です。
日本語化キット を作成された方の発言なので,ここの方でVISTA
持っているかたなら試してみることができるかも
知れないなあというおせっかいおじさんの言葉だからまあ,
そんなに邪険に言わなくてもとおじさんは思うのでした。
>>632 set palette defined (-1 "blue", 1 "blue")
635 :
名無しさん@お腹いっぱい。:2009/05/26(火) 18:14:43
---- hoge.data ----
#x y
1 5
2 3
3 8
4 2
5 7
6 4
-------------------
gnuplot> plot "hoge.data" u 1:2 w l
↑ こういうのをファイルを使わずに
直接 gnuplot のコマンドラインに 全ての座標を手で入力して
描画したい場合どうすればいいのですか?
plot '-' u 1:2 w l
超サンクス。できた。
∈(・ω・)∋グヌー
さいきん書き込みが少ないよ
∈(・ω・)∋グヌー
オレメモ
gnuplotで綺麗な波動関数をプロットする方法
gnuplot 球面調和関数
でググレ
hint : 光 法線ベクトル
3Dプロットをマウスでぐりぐりするとレンダリングが重いんだけどどうにかなんないの?
openglとか
おまいがOpenGLなtermを書けば良い
643 :
名無しさん@お腹いっぱい。:2009/06/16(火) 21:24:39
学校のコンピュータOSがアップグレードされてから、3Dプロットの描画が少し変わってしまいました。
どうも、視錐台の手前側が描画されていないようです。
前までは手前側も表示されていたので、これからもその様にしたいのですが、
視錐台に関するオプションはあるんでしょうか?
使っているのバージョンは
Version 4.2 patchlevel 3
last modified Mar 2008
System: Linux 2.6.27.23-0.1-default
解りづらいと思うので、図をUPしました。
X、Y軸の手前側が、図の端っこで消えてしまっています。
http://up2.viploader.net/pic3/src/vl2_148187.png
3次元プロットで、xyz軸(!メモリ)を書きたいんですが、
軸を描くコマンドはありましたっけ?
↑
X (メモリ)
○ (目盛り)
でした。
zzeroaxisで検索
どうもッス
650 :
643:2009/06/18(木) 15:41:03
>>645 gnuplotのコマンドをシェルスクリプトいったんファイルに書き込んで、パイプでgnuplotへ渡しています。
データは無くても軸だけなら出るので、再現出来るはず...
cat <<- EOI > lhd125.axm30.plt
set terminal postscript enhanced color landscape 20
set output 'fig${qid}startLCFS.ps'
set datafile fortran
set ticslevel 0
set hidden3d
set size ratio -1
set view 80, 50, 1.5
set title"Particle starting points and passing points on\nR_{0}=3.9m a=${awall}m torous surface in particle tracking simulation."
set xlabel'x [m]'
set ylabel'y [m]'
set zlabel'z [m]'
set label 1 "QID=${qid}\n{/Symbol c}_{0}/{/Symbol p}=${pitch}" at 2,-0.2,1.2 left front
set key samplen 1
splot '${qid}/${datname}.trapped-loss.tl-dat' using 2:3:4 w p pt 6 lt 1 title'trapped-loss',\
'${qid}/${datname}.trapped-unloss.tl-dat' using 2:3:4 w p pt 6 lt 2 title'trapped-unloss',\
'${qid}/${datname}.untrapped-loss.tl-dat' using 2:3:4 w p pt 6 lt 3 title'untrapped-loss',\
'${qid}/${datname}.untrapped-unloss.tl-dat' using 2:3:4 w p pt 6 lt 4 title'untrapped-unloss',\
'${qid}/${datname}.trapped-loss.tl-dat' using 15:16:10 w p pt 7 lt 1 title'LossPoint trapped-loss',\
'${qid}/${datname}.untrapped-loss.tl-dat' using 15:16:10 w p pt 7 lt 3 title'LossPoint untrapped-loss',\
'/xxxxxxxxxxx/DATA/fort.201' w l title 'LCFS' lt 8
EOI
cat lhd125.axm30.plt | gnuplot
全っ然最低限じゃねえしそのままじゃ動きもしねえもん貼られても困るが
> set size ratio -1
> set view 80, 50, 1.5
このへんで縦横比だの拡大率だの弄ったせいで、グラフが描画範囲をはみ出したんじゃねえの
Failed to receive messages at scim_bridge_client_read_and_dispatch ()
An IOException occurred at handle_message ()
*** glibc detected *** gnuplot: double free or corruption (fasttop): 0x0a175e38 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7708604]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb770a5b6]
/usr/lib/gtk-2.0/2.10.0/immodules/im-scim-bridge.so(scim_bridge_free_messenger+0x52)[0xb600d892]
・
・
・
このエラーの対処法教えてください
gnuplotでバイナリサーチを実装することは可能ですか?
>>653 なんでわざわざ gnuplot でそんなことをしたいんだ?
愛しているから
ソースいじれば何でもできる。
データファイルに
x1 y x2 z
ってあるんですがx1とx2をx軸にしてy,zとともに3次元表示するにはどうすればいいですかね?
くっつけたあと
x y z
x y
x z
x z
x y
みたいになると思うんですがちゃんと表示できますか?
なるべく1ステップでやりたいです
u 1:2:4
u 3:2:4
メモ
graceのepsをopenofficeにインポートする方法;
graceでbefore.eps出力した後に、
$ eps2eps before.eps after.eps
で、after.epsを使う。
keywords:
xmgrace grace xmgr eps ps pdf OOo
term = tgif
の質問です。
linecolorをrgbで指定して(例えば "#590000")、objに出力すると、
smooth palette in tgif: available 128 color positions; using 128 of them
とメッセージが出力され、指定した色になりません。
この色自体はtgifで扱えるようです。
(なぜなら先にepsに出力してpstoeditでobjファイルに変換すると、指定した色になっている。)
アドバイスをください。
set style line 1 linecolor rgb "#590000"
plot sin(x) ls 1
set term tgif
set out "test.obj"
rep
662 :
名無しさん@お腹いっぱい。:2009/08/13(木) 21:36:34
すいませんつまらない問題なんですが
例えば
z=(1-2 x y)/(2-x)
かつy=1+1/(2 x)
を満足する曲線を描写するにはどうすればよいのでしょうか
z(x,y)なる三次元空間の曲面上で
f(x,y)=0なる束縛条件を満足する曲線を表示するのは
媒介変数表示とは違うだろ
gnuplot> set term png
gnuplot> set size 0.5,1
gnuplot> set output "mumu.png"
gnuplot> set multiplot
multiplot> set origin 0,0
multiplot> plot sin(x)
multiplot> set origin 0.5,0
multiplot> plot cos(x)
multiplot> unset multiplot
gnuplot> unset output
ってやるとsin(x)の画像しか出力されないんだけどどうして?
うちではcos(x)も表示されるぞ
Version 4.3 patchlevel 0
last modified January 2009
System: MS-Windows 32 bit
>>665 cos(x)をプロットするorignがおかしい。
とりあえず
set origin 0,0
plot cos(x0
としてみ
gnuplot本が出るとしたら、どんな内容のものが読みたいですか?
機能を調べ易いもの。ただ、逆引きの本を読んで調べ易いと思ったことはない。
結局、本じゃキーワード検索しづらいし
ノウハウ集があると嬉しいかな
かっこいいグラフを書ける方法があれば、知りたい
どんなグラフがかっこいいと感じますか?
正直gnuplotに添付されているdeom/ディレクトリのデモファイルはイマイチ魅力を感じないんですが
どんなグラフだと査読通りやすいと感じますか?
>>673 捏造された綺麗なグラフ。Ig0r とかで頑張れば?
すまんが、何の絵?
また、余り綺麗ではなないと思う。何も考えずそのままプロットしましたという感じを受ける
おお、これはすごい。
リアルタイムに更新できるグラフなのですか?
>>678 以前までは replot/reread で wxt に対してリアルタイム
更新をしていたんですが、いまいち融通が効かないので、今は
チャートサーバーを立てて、ブラウザ + javascript で
自動更新するようにしてます。チャートの生成は gnuplot 任せです。
681 :
名無しさん@お腹いっぱい。:2009/08/29(土) 16:43:16
gnuplotに関して質問です。
複数のグラフを1つの図にplotするとき、
凡例の位置を最初のグラフだけ変えたいのですが,
どのようにすれば良いでしょうか?
例えば、最初のグラフは右上。他左下みたいな感じです。
set multiplot
plot cox(x)
set key bottom left
plot sin(x)
では駄目?
TeXに貼付ける図を
set size 0.5,0.5
としているんですが,
set term postscript enhanced
で出力したとき,なぜか突然上・右上・右領域に空白が入るようになってしまいました。
epsファイルを開けてみると,これまで
%!PS-Adobe-2.0 EPSF-2.0 となっていたところが %!PS-Adobe-2.0 のみになっており,
%%BoundingBox: 50 50 230 176 が %%BoundingBox: 302 50 554 410 に
また,%%Orientation: Landscape %%Pages: (atend) が追加されているようです。
以前のように出力するにはどうすればいいでしょうか?
epsを付け忘れとる
× set term postscript enhanced
○ set term postscript eps enhanced
>>683 > set term postscript enhanced
> で出力したとき,なぜか突然上・右上・右領域に空白が入るようになってしまいました。
おなじバージョンを使い続け、且つ設定も弄っていないという前提で、いつも
> set term postscript enhanced
と書いていたということでおk?ところで
http://t16web.lanl.gov/Kawano/gnuplot/postproc.html のサンプルには
gnuplot> set term postscript eps enhanced
gnuplot> set output "test.eps"
とあるんだけど、これだとどうなんの?
>>684 それです! ありがとうございます。
>>685 ……という勘違いでした。
お手数かけて申し訳ありませんでした。本当に恥ずかしい限りです。
変数 x の範囲を (0<x<10) と指定するには↓ですが、
gnuplot> plot [0:10] 1-exp(-x)
関数 f(x,y) の範囲を直接 (0<f(x)<10) と指定することは可能ですか?
f(x,y)が1変数関数なの2変数関数なのかよくわからないが。
1変数関数f(x)の場合
set yrange [0:10]
2変数関数f(x.y)の場合
set zrange [0:10]
バッチファイルでgnuplotを起動して、プロットして、画像ファイルに出力して、終了させるという
動作をさせたいのですが、どのようにすればよいのでしょうか?
test.pltというファイルを作成して、
$ gnuplot test.plt
でOK。test.pltの中身は
=========================
set xrange [-3.14:3.14]
plot cos(x)
set term png
set out "test.png"
rep
=========================
こんな感じで
gnuplot term
gnuplot load
等でググるとよい
692 :
名無しさん@お腹いっぱい。:2009/10/01(木) 19:32:08
gnuplotでアニメーションを作るときファイル数が多いときforループみたいにして
ファイル名を書き込む手間を省けませんか?
>>692 ループは無いのでifとrereadで制御するしかない。
gnuplotに付属のanimate.demを参考にすると良いが、色々面倒なので
俺はGnuplot.pyを使ってpythonで書いている。
一応ifとrereadでループは翔るけど、
確かに面倒なので、PythonやRubyなどスクリプトで外から制御するのがよいと思う
696 :
名無しさん@お腹いっぱい。:2009/10/03(土) 22:09:20
tan(x)のグラフをwith lineでプロットしたときの、
∞と-∞をつなぐ線をなくす方法ってありませんか?
どなたか教えて下さい。
>>697 やっぱりそれしか方法ないんですね・・・
回答ありがとうございました。
set yrange 100
set ytics 1000
で無限大に発散してるように見せることはできる
700 :
名無しさん@お腹いっぱい。:2009/10/11(日) 15:10:50
gnuplot の問題じゃないかもしれませんが…
term svg
pm3d map
でカラーコンターを作成して、それを imagemagick や srvg-convert, inkscape などで png に変換すると、
塗りつぶした領域の中に格子状にアルファチャンネル値が0でも255でもない部分ができてしまいます
isosample の値を増やすと細かくなるのでプロット時の分割の境界に相当する部分のようですが、
これを gnuplot 側の出力時の操作で回避することは可能でしょうか
出来た png ファイルを弄ってこれをなくす事は可能ではありますが、フォントのアンチエイリアスとの両立が若干面倒なので
そこまで現象が分かってるなら、ソース解析してバグをとってほしい
gnuplotをかなり使いこなしてる方だと思うけど、
gnuplotを使ってもあまり効率が上がらない。
いまいち融通がきかないのが主な理由だと思う。
なるべく早めにmatplotlibに乗り換えようかなと思ってるけど、
誰か、同様にそうした人いる?
>>702 俺も長年gnuplot使っててmatplotlibに切り替えようとしたけど挫折して
Gnuplot.pyで頑張ってる
matplotlibは3次元プロットが出来なかった記憶がある
>>704 0.98でmplot3dが消えたんだが0.99で復活したみたい
これでeps出力の品質に問題がなければmatplotlibに移行出来るな
matplotlib って日本語のlegendとか吐けるの?
matplotlib に移行気味ではあるんだけど
お手軽グラフはついつい gnuplot 使っちゃったりしてます
初めて知ったけど、なかなか便利そうだね
708 :
704:2009/10/19(月) 16:13:09
matplotlibのマニュアル読み終わったー。
gnuplot vs matplotlib
2Dプロット系: "できること" で言えば、パイチャートなどがデフォルト
でプロットできる matplotlib の方が上。ちょっと混み入った設定や
アノテーションの加え方も matplotlib の方が楽。
3Dプロット系: 完成度と速度の面で gnuplot の勝ち。
プロットプログラムの再利用性: これは matplotlib の余裕勝ち。
見た目の綺麗さ: matplotlibではデフォでグラフにアンチエイリアスや
ヒンティングがかかっている。gnuplot だと wx 末端を使えば
matplotlibのそれとほとんど同様になるが、他の末端も
含めて評価するとmatplotlibに軍配が上がる。
数式: TeXのフォントがデフォルトで入っていて、インストール直後
LaTeXのインストール無しでも即効TeXと同じように書けるので matplotlib の勝ち。
結論としては、多種多様のプロットを生成したいのであれば、
matplotlibを使った方が長期的に見て効率が良さそう。特に python 使い
であれば、断然 matplotlib の方が有利。それと、gnuplotはあまり融通
が効かず、ちょっとした変更が時に面倒だったり、"できそうでできない"
ことが何気に結構あったりしたが、matplotlibなら、その心配は無さそう。
しかし、「簡単にsin(x)のプロットが作れればいいやー」程度のユーザーなら、
gnuplotでいいと思うし、そういった単純なグラフなら gnuplot の方が簡単。
>>708 わかりやすいまとめthx
ちょっと使ってみるわ
すいません。ちょっとわからなくて困っています
gnuplotをDLしたんですが
ファイルをドロップしても(メモで適当に作った一行の.datファイル)
1
^
"ファイル名", line 1: invalid command
というエラーが出てしまいます
dosじゃなくてunixのデータのほうがいいのかとか、拡張子とか、空白文字
とかいろいろ変えてみましたがだめでした;;
原因が思い当たる方、教えてください。お願いします><
基本的に使い方が間違っている。
まず、.datファイルをgnuplot.exeと同じフォルダに入れておく。
次にgnuplot.exeをダブルクリックして起動させる。
後は
plot "hoge.dat"
と入力すればよい 。
>>711 なるほど。できました。お恥ずかしい・・・
ありがとうございました!!
Anatomy and Desperate Housewives. ,
>>702-709のレス見て、自分もMatplotlib使い始めました!
ところで、2chにMatplotlibのスレッドって無いよね?
誰か立ててくれないかな?
この板でいいのかな?
多分いいと思う。
717 :
名無しさん@お腹いっぱい。:2009/10/24(土) 20:56:41
>>715 俺が立てるよ。
今、テンプレつくってるからまっててくれ。
この板よりも、プログラムにする予定。
720 :
っむりなんだい!(無理難題):2009/11/12(木) 13:47:36
グラフ生成フリーソフト「gnuplot」について、
RGBカラープロットをしたいのですが、手法をお教えいただきたいです!
データが0.000000 〜 1.000000の間で正規化された、以下のような3次元列txtデータがあります。
---------------------------------
0.505624 0.507641 0.154209
0.505599 0.507641 0.148951
0.505577 0.507638 0.143832
0.505555 0.507632 0.138848
・
・
・
---------------------------------
これをgnuplotを用いて3次元グラフにします。
そのときに、コマンド
gnuplot> splot "(ファイル名).txt" w d
とすると、赤いドットで表示されます。
これを、以下の図のような3次元軸 X Y Z を、R G B に対応させて、輝度をつけた表示をしたいと考えています。
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:R... 正規化されているデータは1~256(0~255)に正規化しなおすことももちろん可能なので、
どういったコマンドや手法を用いれば可能なのかご教授いただきたいです。
また、gnuplot環境ではむずかしいとあれば、ほかのグラフ生成フリーソフトなどの手法も教えていただきたいです。
リンクぐらいしっかり貼れや
test
gnuplotの精義買ってみた
一番関心したのは出力したsvgデータをinkscapeで編集するための
inkscape用パッチをDLできるURLが紹介されていた事だった
それが一番というのは誉めているのか貶しているのか
725 :
Mei:2009/11/23(月) 14:55:53
質問です
X軸の数字の右端が切れてしまうんですが、どうすれば良いですか
>>726も日本語でおk
意地悪で言ってるんじゃなくて、きちんとした回答が欲しいならば
聞き手が理解できる質問をしてください。
アンタ優しい人だなぁ。
質問してるのはこちらなのに「わからない」なんて
こちらはわかる人に質問しているので
わからない人に教えてもらおうとは思いません
こちらが細かく説明すると
本当はわかっていない人でも
何か答えられるような気分になるものですが
それは錯覚です
本当にわかっている人はこちらが細かく説明しなくても
十分満足な答えをくれますし、向こうも負担とは思わないものです
そういう人を「エスパー」とか言って揶揄するのは勝手ですが
自分がわかってないことを素直に認めるのも重要だと思います
さすがに3点はあげられないなぁ…
733 :
名無しさん@お腹いっぱい。:2009/12/21(月) 01:51:17
3次元のデータをy軸またはx軸についてのみ線で繋ぎたいのですがどうしたらいいのでしょうか?
x軸範囲が同じで、y軸が離れているデータを同じグラフに描写したいです。
y軸の途中を省略するようなコマンドってないですか?
plot [][0.5:0.8] sin(x)
>735
これは上と下を切ってますよね。
そうではなくて、上と下だけを表示するような感じで。
737 :
名無しさん@お腹いっぱい。:2009/12/23(水) 20:36:56
3DグラフでZ軸のラベルがXY面に水平になります。
これを垂直(Z軸に水平)にする方法はありますか?
738 :
名無しさん@お腹いっぱい。:2010/01/06(水) 15:06:02
100個のデータファイルがあった場合その中のn行m列目のデータ点を抽出して100個分のデータを描く方法を至急教えていただけませんか?
man awk
740 :
名無しさん@お腹いっぱい。:2010/01/07(木) 21:41:25
たとえばx軸の範囲が[0:10]であったとき軸の範囲を変えずに[3:6]の間にだけグラフを書くこととか可能ですか?
?演算子と0/0を使う
cond(a,b)=a?b:(0/0)
plot [0:2*pi] cond(1<x && x<5, sin(x))
742 :
名無しさん@お腹いっぱい。:2010/01/07(木) 22:23:48
>>741 ありがとうございます
前にもっと簡単な形であったような気がするのですがググっても見つからなかったのでそれを使ってみます
743 :
名無しさん@お腹いっぱい。:2010/01/15(金) 01:07:06
非常に初歩的な気もするのですが解決法が見つからないので・・・
コマンドから点を打つにはどのようにしたらいいですか?
たとえばXYの2Dグラフで
x=1,y=2
x=2,y=3
x=3,y=5
・・・
みたいに点を打っていくような方法を探しています
データファイルを使えば出来るようですが表示させるデータの元が
プログラム(Ruby)から出てくるので出来ればファイルを経由せずに
パイプでコマンドを渡して直接表示させたいです
よろしくお願いします
plot "-"?
"gnuplot 標準入力"あたりでググればたくさん見つかると思うけど
745 :
743:2010/01/15(金) 23:20:09
>>744 その方法で出来ました。ありがとうございました
replotでデータを入れ直さなければならないのは・・・しょうがないですかね・・・
746 :
名無しさん@お腹いっぱい。:2010/01/19(火) 17:18:05
ご教授下さい!
4次元データのcontourってできますか?
陰関数f(x,y,z)=0の球面上にg(x,y,z)の大きさでcontourを描きたいんです.
4次元の離散データでもOKです.
よろしくお願いします!
set parametric
set size square
set xrange [-1:1]
set yrange [-1:1]
plot [0:2*pi] cos(t),sin(t)
ってやっても表示されるグラフのアスペクト比が1にならないのって仕様ですか?(´・ω・`)
gnuplot で正方形図は鬼門だねぇ…
モニタはCRT?液晶?
大抵のterminalでは正方形になるが、windowsは駄目だな
さすがに画面の話じゃなくて eps ドライバとかだろ
752 :
747:2010/01/27(水) 00:56:46
>>750 Winはダメなのですか・・・
set size ratioでそれっぽく見えるようにごまかします il||li ○| ̄|_
>>751 epsなら普通に正方形にならね?
俺が普段使う範囲で、size ratioの設定を正しく反映しないのはwindowsくらいだ
同じ画面出力でもwxtなら大丈夫
eps で図は正方形だけど派手にいつものアスペクト比の
余白を設定するのは改善されたの?
set termのsizeで描画範囲を正方形にすればいい
756 :
名無しさん@お腹いっぱい。:2010/01/28(木) 16:35:27
gnuplotのコマンドについての質問です。
グラフ描画時の背景の色を変更したいのですが、どうすればいいのでしょうか?
三次元グラフの生成時にRGBの色調をつけたグラフをを作るために、
【test.txt】
128.934224 129.448536 39.323250
128.927859 129.448572 37.982612
128.922047 129.447750 36.677253
128.916626 129.446125 35.406244
128.911458 129.443734 34.168681
128.906420 129.440597 32.963684
128.901402 129.436716 31.790396
128.896305 129.432081 30.647983
・
・
のようなファイルを用意し、gnuplotで以下のコマンドを実行しています。
-----------------------------------------------------
gnuplot> rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
gnuplot> splot 'test.txt' using 1:2:3:(rgb($1,$2,$3)) with dots lc rgb variable
-----------------------------------------------------
そのときにgnuplotのグラフ描画時の背景が白色で、ラインが黒色になっているのですが、
これを背景黒色、ラインを白色にできるようなコマンドは何かあるのでしょうか?
ちなみに、gnuplotは前述コマンド列を使用するために【
http://gnuplot.sourceforge.net/】よりダウンロードしたversion4.2以降を使っています。
> set object rectangle from screen 0,0 to screen 1,1 behind fc rgb "black"
> set border lc rgb "white"
とか。
Windowsで画面表示するだけならGraph-menuで設定できる。
ぐぬぬぬ。
Y1 Y2 Y3
X1 Z(X1,Y1) Z(X1,Y2) Z(X1,Y3)
X2 Z(X2,Y1) Z(X2,Y2) Z(X2,Y3)
X3 Z(X3,Y1) Z(X3,Y2) Z(X3,Y3)
こんなデータを3次元プロットしたいのですが、
gnuplotで直接読み込む方法はないでしょうか?
760 :
759:2010/02/03(水) 11:22:25
matrixでできるんですね、失礼しました
オートスケールの状態、set xrange [*:*] の状態で、目盛の間隔を
表示域を何分割するかで指定することはできないでしょうか?
マニュアル等を見ても目盛間隔の絶対値で指定しているものしか
見当たりません、よろしくおねがいします。
手動じゃ駄目?
xmin = -10
xmax = 10
sect = 4
set xrange [xmin:xmax]
set xtics1.0* (xmax-xmin)/sect
help linetype
線種を黒の実線に指定してる(termによって異なるが)
plot sin(x) lt -1
plot sin(x) lt 0
plot sin(x) lt 4
とかやってみればわかる
plotコマンドについて、関数であれば
plot f(x)*100
みたいなプロットができました。
データファイルのプロットについて
plot ("data.txt" using 1:2)*100 とか
plot ("data1.txt" using 1:2)*("data2.txt" using 1:2)
みたいなことはできないでしょうか?
意味がわからん
plot 'data.txt' u 1:($2*100)
>plot ("data1.txt" using 1:2)*("data2.txt" using 1:2)
これは無理
770 :
名無しさん@お腹いっぱい。:2010/02/22(月) 07:14:37
wxtターミナルだとtransparent.demで透明化がしっかりされるのに、
pngターミナルだと透明化がされていないものが生成されてしまいます。
別のマシンではうまくいくので、pngの透明化はサポートされている
のは確認できているのですが、なぜこうなっているのかわかる方は
いらっしゃりませんか?
どうすればpngターミナルでも透明化がされるのでしょう?
truecolorオプションつけてもだめなのか?
>>771 ありがとう。
それで透明化がされました。
なぜ同じ設定なのに別のマシンでは truecolor なしで
うまくいくのかは不明です。
でも、透明化はできたけど、できあがったグラフの曲線が汚いというか、
アンチエイリアスがかかっていません。
別のマシンでやったり、 wxt でやると綺麗にできあがります。
どうすればpngターミナルで曲線を綺麗に表示させれますか?
>>772 >>504 つまり現状では無理
開発版使ってるならpngcairoがあるが
一旦svg出力するか、wxtの表示をツールバーのボタンでクリップボードにコピーして、gimp等に貼り付けるか
774 :
504:2010/02/23(火) 01:22:57
775 :
名無しさん@お腹いっぱい。:2010/02/23(火) 14:25:39
>>773 元々開発版をつかっていましたが、折角なので
今日のCVS HEADをコンパイルして使ってみました。
> 開発版使ってるならpngcairoがあるが
pngcairo で完璧にできました。
ttp://imagepot.net/view/126690226800.png 再度ありがとうございました。
例のマシンでやったときと同じアウトプットなので、そのマシンでは
png==pngcairo ターミナルになっていたのかどうか不思議です。
>>774 Linuxならコンパイルはスムーズに通るはずなので、
>>773さんが言うように開発版で pngcairo を使ってみてはどうでしょう?
776 :
Zeno ◆5nZQbNmQPs :2010/02/26(金) 16:38:58
吾も gnuplot を愛用している。
CVS のソースコードに自分用のパッチを当てて使っている。
君達は gnuplot をどういったプロット(グラフ)を生成する為に活用しているのだね?
折れ線グラフ
手で計算するのがめんどくさいときに、関数の概形を知るのに
print を使って関数電卓として利用
他には、解析的に求めた方程式解の検算を交点で確認したり
微分係数が正しいか接線を引いて確認したりとか
俺はよく会社とかでアクセスログとか
ファイナンス関係のデータをプロットするときにつかってるけどな。
そういうアナリティックスで使用してる人多いんじゃないかな。
手軽にデータプロットしたり
関数のカタチを確認したり
ぱぱっと処理したいときだね
最近は見栄えを気にする用途では
Matplotlib に移行してしもた
>>781 Matplotlibはtexが普通に使えるからいいよね。
でも、いまだにファイルにデータを出力してgnuplotでやっちゃうな。
プログラム書くのはどうも面倒で。
こんなデータファイルがあったとして
各データを読み込んですべての円を表示するようなことはできますか?
出来るならgnuplotを覚えようと思ってるのですが
//x座標 y座標 半径r
1 2 3
2 3 4
...
postscriptを覚えた方がよさそう
ありがとう
ベースになってるforthは気になってた言語でもあるので
これを機に挑戦してみます
おいおい 784は冗談だから回答を待った方がいいと思う
787 :
名無しさん@お腹いっぱい。:2010/03/09(火) 22:01:38
mandrivaのパッケージからインストールしたんですがデフォルトでwxtターミナルがないんですがどうやったら導入できますか?また既定のターミナルにできますか?
ウブンツの場合は何もしなくてもできていました。バージョンは同じです
4.5以降ならplot with circlesがあるが面倒が多いし、
わざわざこのために覚えるほどの価値があるかどうかは知らん
>>787 mandriva使ったことないから知らんけど、ソースからコンパイルするとか
余所のディストロのrpm突っ込むとか試してみたら?
英語力があればmandrivaのパッケージメンテナにコンタクトを取るのが一番だけど
>>786 そうですか・・
もし分かる方いたらお願いします
791 :
名無しさん@お腹いっぱい。:2010/03/15(月) 16:08:24
4.4.0リリース
Winのデフォルトターミナルがwxtになっとるw
4.4.0リリース記念カキコ
>Winのデフォルトターミナルがwxt
これはどういうことなんでしょうか?
ビルドの際の単純なミスと考えたいですが。
ミスじゃないよ、きちんと動作してる。(重いけど)
リリースノートにもこうある。
> We strongly encourage you to build, test, and package the new cairo-based
> terminals (output modes). These are pngcairo and pdfcairo for output to file,
> and wxt as the default interactive terminal.
開発陣は、各OSの画面出力ドライバをwxtに統一するつもりなんだろ。
そのためのwxWidgets。
ご利益もある。
OSごとの表示の差がなくなるし、見たままのPNG/PDF出力が得られる。
PDF出力はファイルサイズがちょっとアレだが。。
eps はどうするの?
pdftops とか使う?
epsはこれまで通りでしょ。
新ターミナルができたからって旧ターミナルが使えなくなるわけじゃない。
4.4.0出てたのか。
Particularly noteworthy features include:
- smoother graphics based on the pango, cairo, and wxWidgets libraries
New drivers: pngcairo pdfcairo wxt
- client-side interactive display using the HTML 5 "canvas" element
See:
http://gnuplot.sourceforge.net/demo_canvas/ - better internationalization, support for UTF-8 character encoding
- support for transparency and alpha-channel image generation and handling.
PNG images can be read in and manipulated as plot elements.
- extended command line syntax, including iteration
e.g.: plot for [i=1:10] foo(i)
plot for [file in "a.dat b.dat c.dat"] file
- new plot styles: circles rgbalpha
>>793 4.4for windowsでデフォをwindows terminalにしたいなら,
環境変数GNUTERM をwindowsにセットする
他の方法は,コマンドプロンプトでsetとうち
USERPROFILE=C:\Documents and Settings\Tatsu
を探し出します。上の例なら
C:\Documents and Settings\xxxxにgnuplot.iniをつくり,
set terminal windows
と打ちこんで保存します。
カレントディレクトリ(フォルダ)にguplot.iniがあればそちらの設定が
優先されます。
help startup
をよんでください。
いろいろカスタマイズしたいときなど便利です。
>>793 >>794 4.4のWin版バイナリのリリースに関わった者ですが,ミスではありません。
私は,wxtつかないのをデフォにして,wxtつきは差分で配布する意見を
出したのですが意見が通りませんでした。
というわけで,私個人は,798の方法でUSERPROFILEのさすフォルダに
gnuplot.iniを作ってwindowsターミナルをデフォにしてます。
なるほど。
今後の方向としては、OSを問わずにデフォルトターミナルをwxtに統一するつもりなんですね。
wxtってデフォルトで日本語が使えるんですね。びっくりしました。
plot exp(-x**2) sin(x) title '減衰する波'
日本人の開発者居たのか
知らんかった
いつもお世話になってますm(_ _)m
>>801 cairoベースのターミナル(wxt, pngcairo, pdfciaro)はfontconfigを使って
国際化をしています。gdベースのターミナル(png, jpeg, gif)もfontconfigをリンクしたばあい,
utf-8でファイルを保存し,日本語true typeフォントなどを利用すれば,
簡単に日本語でます。
ただし,4.4.0のWindowsバイナリはgd-2.0.36RC1のバグに
よりgdベースのターミナルで従来の方法フォント指定ができません。
4.4.1でフィックスされます。現在,フィックスしたものを利用したい場合は
cvs版(4.5)のバイナリでは直してあります。
ttp://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/
>>802 4.4からはいっていますので,よろしくお願いします<m(__)m>
私は開発にはあまり携わっていません
(時々バグフィックスぐらいはしますが)。
どちらかというとwindows版(cygwin版とDjGPP版もやってます)の
パッケージメンテナーという感じです。
807 :
806:2010/04/18(日) 19:23:36
途中で押してしまった
↑の竹野先生のが参考になったけど、如何せん面倒すぎる・・・
グリッドが(データの数と同じ)多角形でなくていいのなら、set grid polarで十分だな
make で紹介されてた動画キモ綺麗だったなー
system("")でシステムコマンドを呼べるけど、
ifやforなど何十行にも渡る場合ってどうやるの?
全部を;で1行に繋ぐしかない?
\
811 :
809:2010/05/06(木) 15:57:38
>>810 こう?怒られてしまったけど・・・
system("for i in 1 2 3 \
do \
echo $i \
done ")
sh -c とかじゃね。
system("for i in 1 2 3 "
"do "
"echo $i "
"done ");
>783
多分そのデータファイルを読んでパラメトリックプロットの命令を吐くフィルタを
perlなりrubyなりでさくっと作ってやるのが早い。
815 :
809:2010/05/07(金) 13:49:05
system("for i in 1 2 3 \\"
"do \\"
"echo $i \\"
"done ");
818 :
809:2010/05/10(月) 11:17:47
>>817 おお!竹野先生に取り上げてもらえるとは・・・
___
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
>>811だと改行してることにならなくて駄目というわけか。
>>818 竹の先生はよくここを見られていて,気になられた話題に対して解答例など
出されているようです。ときどきwatchされるといいとおもいますよ。
質問です。
Mac OS X 10.6.3を使っているのですが、gnuplotを自力でコンパイルしたものを利用していました。
今回、グラフの出力先をAquaTermに変更しようと思いMacPortsではなく公式サイトからAquaTermを
ダウンロードしインストールしました。
ところが、Snow Leopardが正式に64ビット対応したことで,AquaTermのライブラリがインストールされていても
32ビット用だけなので無視されてしまうそうで、gnuplotの出力先として指定することができません。
どのようにすればAquaTermにグラフを出力できるのでしょうか?
>>820 MacPorts で AquaTerm いれたらいいじゃないか。
2次元非等間隔格子上のデータファイル(x y x,yにおける値 の羅列)から値によって色分けしたコンタを作るのに、
set parametric
set pm3d map
splot 'hoge.dat'
とやって得られるような図をplot のwith imageを用いて作ることはできないでしょうか。
単純にplot 'hoge.dat' with imageとやると、等間隔格子として扱われるのか、歪んだ図ができてしまいます。
{緯度, 経度, その地点での値} のデータの組があります。
これらの離散値を用いて、3 次元の球面上に
コンターを描くことはできないでしょうか。
なんだなんだ、大学のレポート課題かなにかかw
>>832 dgrid3d
ただし,ちょっと細かい格子間隔でグラフを描こうとすると,
大量のメモリを消費して,何時間も計算時間がかかる.
このへんは早く改良されないかなぁ.
ソースを読んだこと無いから分からないけど,なにか変な補間しているらしくて,
描かれる等高線はガタガタになる...
827 :
826:2010/05/16(日) 20:42:44
実験データをガウス関数でフィッティングしたいんですが、ピーク部分のデータに大してだけ
フィッティングするにはどうしたらいいですか?
各データ点に重みを与えればいいですか?
それだと面倒なので、フィッティングの際に参照するデータ区間をコマンドで指定したりできないですか?
>>829 help 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) は、当てはめられるデータ点を一時的に制限するのに
使うことができ、その範囲を超えたデータは全て無視されます。
>>830 すいません。うっかり変な状態で書き込んだようです<m(__)m>
「です。以下参照: plot ranges。」
までであとは無視してください。
832 :
829:2010/06/07(月) 21:50:17
>>830 どうもありがとうございました。これで完全にgnuplotに移行出来そうです。
833 :
名無しさん@お腹いっぱい。:2010/06/18(金) 15:47:53
消費電力の式P=R*I**2のグラフを作りたいのです。
エクセルでは表から第二軸を設定して作れたのですが、このソフトではかわかりません。
どうか教えてください。
自己解決しました。
>834
解決したらどう解決したかを書くのが正しい流儀です
複数のファイルの各行をx,y軸に設定し、出力したいのですがどうしたらいいでしょう?
例えばfile1の一行目をx軸、file2の一行目をy軸という感じです。
>837
ファイルの行数が一致しないときどうしたらいいか分からないから、
そのへんの処置を含めてperlなりrubyなりで下処理したデータファイルを作ってから、
gnuplotに渡せばいいんじゃないかな。
pasteコマンドでつなげられる
返信遅れてすいません、ありがとうございます。
表作れました。
OS X 10.6.4にMacPorts-1.9.1-10.6-SnowLeopard.dmgをインストールしております。
この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)
非常に困っております。ブログでインストールの仕方等載せておられる方は多数いらっしゃって、
全く同じ方法でインストールしたのにも関わらずグラフの描画が出来ないというのは一体何が原因なのでしょうか。。。
どなたかアドバイス頂けませんか。
シェルスクリプトでgnuplotを関数電卓代わりに使おうとして
fnorm=`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の出力が標準出力ではなく『標準エラー出力』になっているということだよね?
なぜエラー出力?
知らんけど、普通そういうことしたきゃbcとか使うんじゃね?
>>845 いや、そういうことを言っているのではなくてですね…
『gnuplotの出力がなぜ標準出力ではないのか』ということ。
ちなみにbcは当然知っていますが、gnuplot電卓の方が直感的で使いやすい気がします。
bcは浮動小数点の指数部を示すEが大文字でないとダメだとか、関数名は小文字でないとダメだとかで面倒。
使う関数がsqrtくらいなら
rnum=3.0e+2
echo "sqrt(${rnum})" | tr e E | bc -l
でいいけど、
e(${rnum})
はどうするんだろう?
>>846 >『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は累乗が**ではなく^なのもなぁ。ただ、ベッセル関数があるのは嬉しいかも。
あ、↓はzshじゃないと無理かも
$ echo $(( 0.2**(1./3) ))
公式MLで聞いても「gnuplotは関数電卓じゃねえ」で終了だろう
どうしてもgnuplotでやりたきゃソースいじるしかないんじゃね
やりたいことは、標準エラー出力を使うことで解決してるんだろう
「なぜ」については俺も気になるな
普通は逆(プロンプトがstderrで、出力がstdout)のような気がする
> 普通は逆(プロンプトがstderrで、出力がstdout)のような気がする
いやだから、gnuplotにとっての「出力」ってのはグラフの描画結果だろ。
set output を指定なしで使えばstdoutに出る。 (プロンプトがstdoutってのは意味不明)
で、printのデフォルト出力先はstderr。
set print で指定すればstdoutにも出せるが。
つまり、gnuplotは関数電卓じゃねえってこと。
4.4.1
ソースだけ来てる
4.4.2が出てます。
>>853 > * CHANGE depth-sorting of pm3d surfaces now applies jointly to all in the plot
pm3dの隠面処理が賢くなったようだ。
複数の格子で構成された形状でもちゃんと手前の物が手前に表示されてる。
ありがたい。
Unix板にすみません<m(__)m>。4.4.2のwindows,cygwin, DJGPP, OS2のバイナリ
出たようです。
djgpp とか懐かしす
gnuplotはデフォルトでemacs的なキーバインドがありますが、これをカスタマイズすることはできますか?
>858
たぶんgnuplotの機能ではなくて
readline(3) ライブラリのことをいっているから
man readline して ~/.inputrc 辺りに適当に書くべし
すみませんレポートを書かないといけないんですが、
・格子点を打つ(x,y∈整数のとき)
・x軸が時間なので矢印にする
・グラフのラベルを左側に表示する
(set key outsideは右側、あとグラフのサイズが変わってしまう)
ということをしたいのですが、ぐぐっても方法がわかりません
ご指南ください
> ・格子点を打つ(x,y∈整数のとき)
そういう機能はないと思う。
格子点座標を羅列したファイルを作って plot with points/dots するしかないかな?
> ・x軸が時間なので矢印にする
set arrow from 0,0 to 1,0
とか。
> ・グラフのラベルを左側に表示する
help key か、もう一度ググるかしろ。
てs
>864
全然詳しくないけど wxt は >800 前後くらいで話題になってる
>>865 >>899を参考に.gnuplotを作りset terminal x11と書き込めばなんとかうまくいけました
ありがとうございました
gtk使うアプリでgtk関係のワーニングはむしろ出るのが普通なので気にしたら負け。
>867
なんつーか開発者向け以外のワーニングは
off にする設定ってないのかね…
firefox & とかしたときもうざいっす
しょせんgtk
set size ratioなどを使っても、ラベルやメモリ刻みを表示させると
縦横比が1:1にならない(横長になる)のですが、どうすればちゃんと出来ますか?
>>870 OS、gnuplotのバージョン、使ってるterminalを書け
y軸に平行な直線を引くためには
別にデータファイルを用意しないと引けないのでしょうか。
バッチファイルに記述する方法をご存じの方いましたら教えて下さい
gnuplot ver 4.2です
ぱらめとりっく?
4.0だと、グラフウインドウのタイトルバー右クリック→option→Line Styleで
自由に線の色とか変えられたけど、4.2だとどうやるんだ?
まさか set style 云々 で変えるしかないのか?
そうやるのが普通だ
>>877 windows terminal の機能のことなら、4.2でも普通に使えてたと思うが
起動デフォルトのterminalが変わってただけだった。set term wind したらいつもどおりになった。すまん。
デフォルトのあのGUI的な描画ウインドウが、MATLAB並のグラフ編集能力持ってたら、いろいろ役立つんだけどな。
>>881 それ4.4.xじゃない?
つうか質問するときはOSとかターミナルの種類とか書いてほしいね
>>512 超遅レスだけど、自分で調べてて分かったのでついでに。
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)
keyとグラフが重なっている場合、keyの範囲でグラフが隠れるようにできないでしょうか?
あとgridもですが、通常のgridはkeyに隠れてくれるのですが、grid polarだと隠れないですね。
keyを常に優先表示するというのは無理なんでしょうか?
>>885 開発版なら set key opaque でできるな
>>886 ありがとうございます。4.5の開発版ですね。
CVSで入手するようですが接続できませんでした。また後で試してみます。
cvs [login aborted]: connect to [gnuplot.cvs.sourceforge.net]:2401 failed: Connection refused
890 :
885:2011/02/10(木) 20:37:09
>>889 ありがとうございます。インストールできました。
wgnuplotを使ってみたらタブ補完が効かない・・・
debianはライセンスの問題があったけど、Windowsも何か問題があるのかな
三次元の点データから等高線を作りたいんですがdgridで格子を作ると近似が荒すぎてうまくいきません。
dgrid3dの後の数字を色々入れたりしたんですがZ値への寄与がXに比べYは確かに小さいとは言えYについての変化は0です。
近似をより正確にする方法などはないでしょうか。
>>892 それだけの情報じゃなんとも言えんのだが、
dgrid3dのヘルプを読んで他の補間アルゴリズムを試してみるとか。
まあヘルプにも、もっとましな補間がしたきゃよそでやれとか書いてあるんだけどw
>>891 gnuplot自体が,GNU ReadlineのGPLとコンパチでないので,BSD editlineしか
バイナリ配布では組み込めない。Windows で動くBSD Editlineはないので
あきらめるしか手がない。
また,gnuplot ならともかく独自コンソールのwgnuplotにはもしWindows版
Editlineがあっても組み込めるか怪しい。
>>896 > * NEW Implement pan and zoom via mouse wheel.
xrange, yrange をマウスホイールでいじれるようになったな
なかなか面白い
普段、set term x11 にしてインタラクティブに使っているのですが、
$ cat hoge
plot sin(x)
pause -1
$ gnuplot hoge
というようにファイルを作るのではなくて、たとえば
$ cat << EOF | gnuplot
plot sin(x)
pause -1
EOF
という感じでファイルを作らずに使う方法はないでしょうか?
ただ、↑のやり方だとgnuplotがすぐ終了してしまってインタラクティブになりません。
$ gnuplot
でコマンドラインを起動する方法じゃダメなのか?
901 :
899:2011/03/16(水) 18:11:53.28
>>900 gnuplotをまず立ち上げて、コマンドラインでインタラクティブに使うということですか?
zshの補完や履歴を使いたいので、
>>899のようなことができればなぁ、と思いお尋ねした次第です。
gnuplot -persist -e "plot sin(x)"
903 :
名無しさん@お腹いっぱい。:2011/03/20(日) 16:05:44.74
パラメトリックで2つの曲線 plot f(t), g(t), f(t), g(t)+h(t) があって
2つの曲線の間を塗りつぶす方法を教えてください。
つまりExcelでいう積み上げ面と散布図を合わせた感じ。
904 :
899:2011/03/23(水) 02:11:10.82
>>902 ありがとうございます!そんなオプションがあったなんて
これでいちいちファイルを作らなくて済みます
地震の後しばらくしてから学校入れなかったせいか過疎ってるな。
関数のプロットの書き出し初めの座標を決めることはできますか?
デフォルトでは領域の最左端が始まりになります
目的は棒グラフの横幅の中点と
それに重ねるグラフのサンプリング点のx座標を同期させることです
fitで決められた、viaの後に置いた定数へはどうアクセスしますか?
グラフのタイトルにこの値を印字したいのです
Windows版のはsystemコマンドがまともに機能しませんね
>>909 まともに機能しないってどういうこと?
とりあえずsystem("notepad")ってやっただけのは普通に動いたよ?
指数分布のフィッティングはビルトインの機能を使うべきですか?
それとも分布から計算した平均を用いてλを逆算して決めるべきですか?
理論的に求まるんならそっち使ったほうがいいんでないの?
フィッティングって最小2乗法と2分探索か何かで力任せだから。
あり^^
関数をプロットするのですが、その中の一つのパラメータは
ファイルから数値を読みとって欲しい場合はどうしますか?
0.1 1.238 5.464 1.443 0.998
なんてファイルを用い
reread毎に列をずらして読み出した値を
f(x)のパラメータに適用しながら
5つの、パラメータ毎のグラフをファイルに書き出すシナリオです
自分ならgnuplotの仕事はプロットだと割り切って、
元のファイルから読み込んで計算して経産結果を別のファイルに書き出すのは、
Pythonか何かでやる。
シェルスクリプトでごにょごにょやる
fgt
OpenBlocS600D Debian(squeeze) gnuplot4.4
何故かset ylabel "hoge"がエラーを吐いて表示されない
普通のx86機にsqeezeとgnuplot4.4入れてやってみると表示される
pngに縦書きを表示させるのに何か必要?
libpngが必要とか?
920 :
918:2011/06/21(火) 17:15:38.91
gdImageStringFT: Problem rendering glyph while printing string hoge with font /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf
GDが悪いのかと思っていろいろやってみましたが上記エラーが帰ってくるだけでした
/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf は存在するのね?
922 :
918:2011/06/21(火) 23:00:11.59
存在します。ylabel以外は正常に表示されています。
923 :
名無しさん@お腹いっぱい。:2011/06/22(水) 14:21:14.18
924 :
918:2011/06/22(水) 17:37:22.93
pngcairoを使ってみたら表示はできましたがylabelの位置が変です
左端にあったりグラフ中央にあったり原点が狂ってるような感じです
offset screenで-指定してもグラフが左方向に縮むだけでylabelが移動しません
925 :
819:2011/06/22(水) 17:58:40.86
どうやらpngでもpngcairoでも文字を90°の整数倍傾けると表示できないかかしくなるようです
89°ならpngでも表示できました
>>918 >>925 gdImageStringFT
gdやcairoが下請けにしているFreetypeがバクってるのかも。
(FTはFreeTypeのこと)
Freetypeを自分でビルドしてみれば?
>>918 Debian(squeeze) gnuplot4.4
>>918 Debian(squeeze) gnuplot4.4
Debian フォーラムかMLで聞いてみれば。英語になるから敷居は高いと思うけど。
Unixだったらdistributeしてるところで聞くのが一番だと思う。
寧ろなぜ今までできなかったのか
>>931 その機能を実現するコードを書く人がいなかった。
もしくは,Ethan氏がそのコードを書く意欲がわかなかった。
どちらかでしょう。
データファイルから文字列を読み込んで、タイトルに設定する方法はありますか?
>>934 おおっ!素晴らしいページを紹介して下さり、ありがとうございました。
今はawkに食わせてloadする方法を取っているのですが、gnuplotだけでも書けそうです。
それにしても、plotのusingを使って代入する方法は思いつきませんでした。
考えた人は天才ですね。
gnuplot ってそれなりに歴史ある筈なのになんでスレがその2なの?
黎明期なの?
うに板にあるのが微妙ってこともある。
Windows版もあるよね確か。
歴史が長いからスレが伸びるってもんでもない。
うわずっとム板のつもりで書き込んでた
>>939 octave Win版あるのにUnix板にある。まあ,あれは,Win版Nativeが
出たの遅かったからなあ。
ところで,誰か次のスレ立てしていただけませんか。
ム板でもうに板でもいいですから。
970くらいでいいよ
つかなんでム板?
944 :
名無しさん@お腹いっぱい。:2011/07/21(木) 23:23:11.74
multiplotでメモリを固定して、凡例だけずらして表示するにはどうするの?
>>943 gnuplotは,昔からマルチプラットフォームで動くことをうたい文句に
しているのでうに板でないほうがいいのではと思う。
ソフトウェア板は?
ソフ板なんか行ったら即死じゃねw
ここのがいいよ、のんびりしてて
荒らしの類もあんまり来ないし
>>946 じゃあ。このまま,うに板で「その3」ということで
gnuplotってそれ単体で使うことある?昔はoctaveから使ってて、
今は収集したデータを整形して食わしてグラフを描くのに使ってるけど、
単体じゃそもそも何に使えるのか分からんよ。
ほとんどの場合、unixでよく使われる外部ツールと組み合わせて使うから、
他の環境だとますます馴染みがないだろうね。
何に使えるかわからんて。
ベッセル関数とか媒介変数表示のグラフだって書けるってのに。
測定結果の概形や関数の概形見るのにすごく便利。
そうだね。自分の用途だとデータのプロットが主だから、
そういう使い方だと単体じゃ使いにくいねって言いたかっただけだよ。
まあ、データの前処理までgnuplotにやって欲しい、やらせたいとは思わないけどさ。
こういうグラフを描くことだけに特化したソフトって他にあるのかな?
951 :
名無しさん@お腹いっぱい。:2011/07/24(日) 00:39:58.75
グラフっていうか,表示ソフトなら paraview が有名だよね
>>948 グラフ作成にバンバン単体で使ってます。
www.tatsuromatsuoka.com/gnuplot/Jpn/gnuplot_memo.html#100508
も利用して,
www.tatsuromatsuoka.com/tmacchant/OOo_gnuplot/
を参考に論文用のグラフを作成しています。
gnuplot カーブフィッテングができるので,
データ解析にも使えるので実験屋にとっては便利な頼もしい味方だ。
面倒な前処理はさすがにawkなりrubyなり使っちゃうけど、簡単な処理ならusing使えば済むしなあ。
数値微分までやってる人もいた。
俺はgnuplotでそこまでやろうとはさすがに思わんが。
バッジ処理使ってグラフを大量生産できるのが便利で使ってる
>>951 それは何か気色が違うね。データからグラフを描くバックエンド的なソフトって
(有料ならあるのかも知れないけど)特殊と言うか他に見ない気がする。
面倒な数値計算とかバッチ処理とか、面倒なのはスクリプト言語に丸投げだ。
単体でやろうとして、ループはrereadでなんて見つけたときには一気にやる気がそがれたよ。
今はforとかあるそうだけど。
C++から計算結果の確認用に
system("wgnuplot -noend -e \" p 'data.txt' u 1:3 w l; \");
みたいにして使ったりする.
実際にはコマンド部分の文字列は他の部分で作るけど.
>>957 俺はそれを実験データでやってる
実験データの解析をC++で自作したプログラムにやらせてるんで
>>956 良くも悪くも、単機能プログラムを複数組み合わせて
複雑な処理を行うっていうUNIX文化のプログラムだからね
高度なデータ処理をgnuplotでやろうとしてる質問者を見るたびに、
そういうのはgnuplotの外でやっといた方が楽だよと言いたくなる
>>957 なんかこの手の処理はgnuplotをpopenで起動してパイプで流し込んだほうが最近のコンピュータだと速そう。
C++なら計算結果を記録するクラスにgnuplot制御する処理も書いておけば、
そのクラスが破棄されるタイミングでグラフ表示とかできそうだ。
>>959 それが、このスレがこの板に建ってる理由じゃないか?
そもそも、gnuplotのスクリプトってチューリング完全なのかな。全く話が逸れるけど。
次スレは
>>970が立てるとして、誰かテンプレ考えてくれないか?
さすがに
>>1じゃ寂しすぎるだろうw
>>960 私も自作の測定プログラムで,プロットエンジンとしてgnuplotをpopenで
使っています。複雑なGUIのプログラミングをしないでグラフがかけるので
便利です。(windowsのにんげんですが。)
>>5 を追加するくらいでいいんじゃない?
gnuplot 使おうという奴なら特にあれこれ
>>1 に書いてなくても。
964 :
名無しさん@お腹いっぱい。:2011/08/02(火) 17:07:09.53
>>964 表示したい断面のデータを用意すればできる
3次元分布のデータを読み込んで任意の面でスライスってのは、
俺にはできるか分からん
966 :
名無しさん@お腹いっぱい。:2011/08/03(水) 07:57:39.31
>>965 それでもokです.
どうやって3次元の中に予め用意した断面を入れるんですか?
まず
(x座標) (y座標) (z座標) (値)
という行を羅列した、2次元メッシュのデータファイルを作る
z=0の面で切るならこんな感じ
-1 -1 0 0.5
-1 0 0 0.4
-1 1 0 0.3
0 -1 0 0.4
0 0 0 0.3
0 1 0 0.2
1 -1 0 0.3
1 0 0 0.2
1 1 0 0.1
面を複数表示するなら同じファイルに2行空けて追記する
で、
> set pm3d depthorder
> splot 'data.dat' with pm3d
968 :
名無しさん@お腹いっぱい。:2011/08/03(水) 10:32:51.16
plot "xaa" using 0:1, "" using 0:(a=$1+$3) axes x1y2, "" using 0:(-(b=$2+$4)) axes x1y2, "" using 0:(a-b) axes x1y2
こういう書き方できないんだね。当たり前って言えばそうなんだけどさ。
gnuplotがもう少し速く計算してくれたら2回書いても遅くならないんだが…
gnuplotで計算させちゃらめ
Version 4.4 OS:Windows32bit
wgnuplotで起動して最初にplotするときだけ時間が異常にかかります
現状、gnuplot\をDataドライブのDocuments\においているのですがCドライブにおいたほうが良いのでしょうか
原因、解決策はわかりますでしょうか?
俺もそうだけどあれはあんなもんなのかなと思ってる
>>974 私の環境だとC:\Users\username\AppData\Local\Tempにfontconfigはできず
ドライブ全体に検索をかけてもそのフォルダは見つかりませんでした
環境変数TEMP or TMPで指定しているフォルダにあると思う
wxt固有の話だから、windowsターミナルでいいなら話は早い
>>976 ありがとうございます。
普通にTempで指定しているところにありました
梅
まだ残ってるw
埋め
梅
埋まりきる前に落ちそう