gnuplot を使おう。 その2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/11/28(火) 22:10:25gnuplot 公式 Web ページ
http://www.gnuplot.info/
前スレ
gnuplot を使おう。
http://pc8.2ch.net/test/read.cgi/unix/1002453983/l50
0193名無しさん@お腹いっぱい。
2007/08/02(木) 18:43:47だからってjpgとかはないだろう
物事にはデファクトってもんがあるだろ
0194名無しさん@お腹いっぱい。
2007/08/03(金) 00:14:40一行目に mode 書いてもいいんだが。
0195名無しさん@お腹いっぱい。
2007/08/04(土) 21:40:58文字を90度回転させることはできないでしょうか?
0196tm
2007/08/06(月) 05:03:59私なら,全部awkでやります。Here documentなくても,
ちまちまprintやprintfでguplotの命令をかいていけばいいですから。
また,たまにpgnuplotをawkで触るのもやります。
winにもgawkがあるし,awkでがんばれば,たいていのことはできると思うのですが。
(wshは強力だけど,Windows onlyのコードを使います)。
Unixユーザー様の書いた強力なコードを使うときは,迷わずcygwin。
cygwinってそのためにあるのでは?
また,cygwinいやならmsysのshをいれればすこし書き直しが要りますが,
あまり手がかからずunixもの移植できます。
msysなら,ファイルをコピーするだけでインストールできるので,
usbあたりにでもいれとけばいいのでは。
私のusbにはいれてあります。
0197名無しさん@お腹いっぱい。
2007/08/07(火) 00:28:550198a ◆6kUU.aIoeg
2007/08/07(火) 01:13:320199tm
2007/08/07(火) 05:03:39質問するときの常識でしょ?
0200名無しさん@お腹いっぱい。
2007/08/07(火) 10:08:41ニホンゴ文字化けして読めないンですけど
0201名無しさん@お腹いっぱい。
2007/08/20(月) 18:38:08見出しをグリッドとグリッドの間(12:00あたり)に
表示したいんだけど、どうしたらいいんだろう
0202名無しさん@お腹いっぱい。
2007/08/28(火) 01:45:560203名無しさん@お腹いっぱい。
2007/08/28(火) 12:00:170204名無しさん@お腹いっぱい。
2007/09/01(土) 21:46:122007/8/28 10 100
2007/8/29 20 200
2007/8/30 30 300
データ数が多くなるとx軸の日付が重なって見えずらくなるのですが、
日付を3日で1つ表示する等の変更はどうすればよいのでしょうか?
0205名無しさん@お腹いっぱい。
2007/09/01(土) 21:51:010206名無しさん@お腹いっぱい。
2007/09/01(土) 21:54:54できますたあああああああああああああ
ありがとうございます!
0207名無しさん@お腹いっぱい。
2007/09/03(月) 22:08:200208名無しさん@お腹いっぱい。
2007/09/07(金) 18:58:49>>42
unset mouse
で消えるんでは
0209名無しさん@お腹いっぱい。
2007/09/22(土) 20:09:460210名無しさん@お腹いっぱい。
2007/09/28(金) 17:41:57ylabel が 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 "さいん"
0211名無しさん@お腹いっぱい。
2007/09/29(土) 22:09:29再度,細かいデータ点を取り出したいと考えてます.
具体的に,y軸を基点として,y軸のある点でのx軸の正確な値を
取り出したい場合,どうしたらよいでしょうか?
0212名無しさん@お腹いっぱい。
2007/09/30(日) 09:43:21gnuplot となんの関係が?
0213211
2007/09/30(日) 14:01:41gnuplot 入門して間もないです.
出力したグラフの左下に,ポインティング座標位置が出る.
ということは,y軸のある値から,それに対するx軸の値が出せるのではないか
と考えてます.
gnuplot がグラフを出力するだけのソフトであるならば,
意味不明な質問になると思いますが・・・
0214名無しさん@お腹いっぱい。
2007/09/30(日) 16:59:170215名無しさん@お腹いっぱい。
2007/10/01(月) 13:29:54つ g3data
>>210 の方も誰かお願いします><
0217215
2007/10/01(月) 17:00:05これからもがんがってくださいまし
0218名無しさん@お腹いっぱい。
2007/10/01(月) 18:15:490219名無しさん@お腹いっぱい。
2007/10/02(火) 08:20:36神がいる...
0220名無しさん@お腹いっぱい。
2007/10/02(火) 11:43:13凄!
Up主、馬鹿格好良すぎ!
0221名無しさん@お腹いっぱい。
2007/10/03(水) 02:05:15gnuplotを GNU と略すコメントに違和感...
0222名無しさん@お腹いっぱい。
2007/10/04(木) 09:53:46裡門頂肘を裡門と略されるとムズムズするのと同じだな
0223名無しさん@お腹いっぱい。
2007/10/05(金) 00:56:442点, P, Qを線分で結びたいのですが、うまくいかず困っています。
replot t, f(t)
とすれば、中心同士を直線で結べるのですが、線分で結びたいのです。
replot [Px, Qx] t, f(t)
等としてみても、replot自体が無効になってしまっているようでした。
0224名無しさん@お腹いっぱい。
2007/10/05(金) 17:04:400225名無しさん@お腹いっぱい。
2007/10/07(日) 23:09:37保存の項目を選択したときにver4.0まではその項目を選択したときに、
以前に最後に開いたディレクトリを選択してくれたのですが、
最近ではgnuplotをインストールしたディレクトリを常に開いてしまいます。
これを以前の挙動に戻すにはどのようにしたらよいでしょうか。よろしくお願いいたします。
0226名無しさん@お腹いっぱい。
2007/10/08(月) 21:16:250227名無しさん@お腹いっぱい。
2007/10/10(水) 20:54:08空白で区切られたデータでなく、
CSV形式のデータを読み込んで書かせるには
どういう方法があるのでしょうか?
0228名無しさん@お腹いっぱい。
2007/10/10(水) 22:48:26plot "|sed 's/,/ /g' hoge.dat"
0229名無しさん@お腹いっぱい。
2007/10/10(水) 23:23:05gnuplot から直接いけるのかと思ってた。
0231名無しさん@お腹いっぱい。
2007/10/11(木) 04:38:07plot 'file.csv' using '%lf,%lf' とするか
set datafile separator "," とする
0232名無しさん@お腹いっぱい。
2007/10/11(木) 17:25:06置換というか gnuplot でフィルタすればいいだけなんだけど。
>228 は下記間違いで、|じゃなく "<sed ..." でした。
詳しくは help special-filenames の
plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"
とかを参照
>231 に別解あるけどパイプのほうが汎用性があるから
覚えておいて損はない
0233名無しさん@お腹いっぱい。
2007/10/13(土) 00:01:330234229
2007/10/21(日) 00:39:40A 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座標に使用する方法が
あればご教授お願いします。
0235名無しさん@お腹いっぱい。
2007/10/21(日) 02:07:15ラベルをデータファイルに埋め込むのは多分無理じゃね?
0236名無しさん@お腹いっぱい。
2007/10/21(日) 09:48:240237234
2007/10/21(日) 15:44:16ありがとうございました。
0238名無しさん@お腹いっぱい。
2007/10/27(土) 00:47:580239名無しさん@お腹いっぱい。
2007/10/27(土) 14:13:45When `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. ...略...
0240名無しさん@お腹いっぱい。
2007/11/04(日) 13:26:26レジストリとか別フォルダにtempを作ってたりしたら、それも消したいんで教えてください。
0241名無しさん@お腹いっぱい。
2007/11/04(日) 14:08:08消すだけでいい
0242名無しさん@お腹いっぱい。
2007/11/04(日) 14:44:23ありがとうございました。
0243名無しさん@お腹いっぱい。
2007/11/04(日) 17:42:03グラフの名前は一つにしたい。
左の様にしたいが、右になる。
データファイルは
# x y
1 2
2 3
3 4
4 5
5 6
#
1 -7
2 -9
3 -3
4 -2
5 1
です。解決策希望します。
0244名無しさん@お腹いっぱい。
2007/11/04(日) 17:55:33空行でも入れれば
0245名無しさん@お腹いっぱい。
2007/11/04(日) 18:24:56できた。早い回答ありがとう。
0246名無しさん@お腹いっぱい。
2007/11/05(月) 04:12:490247名無しさん@お腹いっぱい。
2007/11/05(月) 05:10:14軸を入れ替えるにはどうしたらよいのでしょうか?
ご存知の方ご教示ください
0248名無しさん@お腹いっぱい。
2007/11/07(水) 05:20:45ってやるとグラフの左に
空白できるんだが、なんぞこれ?
0249248
2007/11/07(水) 05:34:580250名無しさん@お腹いっぱい。
2007/11/08(木) 19:14:22出力したepsファイルを描画ツールで加工する以外の方法でお願いします。
0251250
2007/11/08(木) 19:26:000252名無しさん@お腹いっぱい。
2007/11/09(金) 18:42:48上のタイトル名を改行して2行に渡り書く方法があれば教えてください
0253名無しさん@お腹いっぱい。
2007/11/11(日) 19:05:21set terminal epslatex
0254名無しさん@お腹いっぱい。
2007/11/12(月) 01:42:20なんとかなりませんでしょうか?
0256名無しさん@お腹いっぱい。
2007/11/15(木) 13:07:330257255
2007/11/15(木) 13:10:590258名無しさん@お腹いっぱい。
2007/11/15(木) 13:15:32ぐぐればすぐ出てくるよ。
0259名無しさん@お腹いっぱい。
2007/11/17(土) 14:44:37タイトルや凡例に日本語を使うにはfontnameには何を入れればいいですか?
手当たり次第にttfファイルを、".ttf"の有無し、フルパスで指定したりとか
試してるけどうまくいきません。
VineLinux4.1使ってます。
標準のgnuplot4.0.0と、自分でmake installした4.2.2で試してます。
表示にはdisplayコマンドとgvコマンドを使ってます。
0260名無しさん@お腹いっぱい。
2007/11/18(日) 00:43:09Fonts 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.
0261259
2007/11/18(日) 04:38:38やはりその方法しかないみたいですね。
ちなみにその方法を試そうとすると以下のエラーが出ます。
私のところではttf2pt1をmake installする必要があるようです。
Command 'ttf2pt1 -a -e -W 0 /usr/X11R6/lib/X11/fonts/TrueType/sazanami-gothic.ttf -'
generated error, exitcode is 32512
ありがとうございます。
0262名無しさん@お腹いっぱい。
2007/11/19(月) 23:14:590.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なら青とか
こういうのってできますか?
0263名無しさん@お腹いっぱい。
2007/11/20(火) 09:35:403列目の数字に応じてファイルを分割したほうが早い気がする。
0264名無しさん@お腹いっぱい。
2007/11/20(火) 17:32:02とpltに書いてgnuplotで読むとエラーというか数値がガーって出て
しまうんですが対処法を教えてください。
0265名無しさん@お腹いっぱい。
2007/11/20(火) 17:53:27plot '1.txt' title 'data1' with points,'2.txt' title 'data2' with points
みたいにしたんですが、プロットの点が○と+になってしまいます。
プロットは全部、点で色だけを変えたいんですが、できますか?
0266名無しさん@お腹いっぱい。
2007/11/20(火) 21:40:00plot "<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.
0267名無しさん@お腹いっぱい。
2007/11/20(火) 22:34:56お聞きしたい事は
プロットしたドットを単純に色を変更するということではなく、x軸の目盛が1づつふられていたとして(0〜10000)プロットした際に、
0〜1000までの範囲にプロットされたドットは赤
1000〜2000までの範囲を青
という風に、x軸の範囲で色を変えるようにプロットしたいのですが、
どのようにすれば良いのでしょうか?色々と調べても答えが見つかりませんでした。
どなたかご教授頂けないでしょうか?
宜しくお願い致します。
0268名無しさん@お腹いっぱい。
2007/11/20(火) 22:51:26>266 と同じ考え方というか応用
plot "< awk '{if ($1 < 1000) print $0}' hoge.dat" pt 1,\
"< awk '{if (1000 <= $1 < 2000) print $0}' hoge.dat" pt 2,\
...
0269267
2007/11/20(火) 23:01:25can't read data file "< awk '{if ($1 < 1000) print $0}' hoge.dat"
といわれます
0270名無しさん@お腹いっぱい。
2007/11/21(水) 08:40:380271名無しさん@お腹いっぱい。
2007/11/23(金) 21:34:140272不安になってきた
2007/11/24(土) 09:09:570273名無しさん@お腹いっぱい。
2007/11/27(火) 23:09:42f(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で読み込むとおいおいって感じに
なるんやけど、どっか間違ってますか??
0274名無しさん@お腹いっぱい。
2007/11/28(水) 10:43:530275名無しさん@お腹いっぱい。
2007/11/28(水) 13:19:330276名無しさん@お腹いっぱい。
2007/11/28(水) 13:46:170278名無しさん@お腹いっぱい。
2007/11/29(木) 01:26:310279名無しさん@お腹いっぱい。
2007/11/29(木) 02:08:070280名無しさん@お腹いっぱい。
2007/11/29(木) 18:52:390281名無しさん@お腹いっぱい。
2007/11/29(木) 21:30:33亀レスですが
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
でどうでしょうか?
0282名無しさん@お腹いっぱい。
2007/12/05(水) 18:09:06複数起動させずに最初に起動したgnuplotに値を渡すように設定できますか?
現状ではプログラムの処理速度がはやく、
次々に起動し、グラフが完全に出力されないことがあり困っています。
0283名無しさん@お腹いっぱい。
2007/12/05(水) 19:14:020284282
2007/12/05(水) 19:28:08data0.jpeg,data1.jpeg・・・のように自動的に描画・保存してほしい
このときプロット数が多いので、処理が終わってから次のデータへというふうにやりたい
わかってもらえます?
0285名無しさん@お腹いっぱい。
2007/12/06(木) 00:31:200286名無しさん@お腹いっぱい。
2007/12/06(木) 04:05:44プログラムから、ってのを具体的にplz。
例えばスクリプトやらバッチファイルやらで、
gnuplot data.gpl
(.gplの中身は手で打つコマンドを列挙したもの)
とかを繰り返すものであれば、そんな事態はあまり起こらない気がするし。
データが出そろうまでgnuplotを呼ばないようにすることのほうが問題では?
エスパー外してたらごめんちゃい。
0287名無しさん@お腹いっぱい。
2007/12/06(木) 08:34:57結果出力をファイルに書くのと同時(終了を待たず)に
データファイル読み込みなぐにゅうぷろっと起動、尻切れショボーン
>286 の通りにやるか素直に pipe で呼び出せばいーのに...
で、元質問者はマジで日本語の勉強すべし
0288282
2007/12/06(木) 12:44:13fout << "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
自分でも、己の日本語力の無さに危機感を覚えているんですが、おすすめの書があったら教えてください。
0289282
2007/12/06(木) 12:50:40hidden3d ではなく dgrid3d でした。
あと、やはりjpegを作ってから書き込みたったので、考えていたプログラムは使えそうにないです。
0290名無しさん@お腹いっぱい。
2007/12/06(木) 13:07:41gnuplot の話じゃないじゃん?
0291名無しさん@お腹いっぱい。
2007/12/06(木) 14:58:143.の処理を待たずに1.に戻ってるのが問題と思われ。
待つ方法を考えてみては。呼び出し方とか。
0292名無しさん@お腹いっぱい。
2007/12/06(木) 16:20:10違う 2. を待たずに 3. を呼んでるのが
アホ&&ヴァカたる所以
(pipe で呼び出すなら終了を gnuplot 側が待ってくれるけど)
■ このスレッドは過去ログ倉庫に格納されています