gnuplot を使おう。 その3

2011/08/25(木) 12:15:50.61
グラフ描画ソフト gnuplot のスレ。

gnuplot 公式 Web ページ
http://www.gnuplot.info/

前スレ
gnuplot を使おう。 その2
http://hibari.2ch.net/test/read.cgi/unix/1164719425/
2015/12/07(月) 10:57:05.97
基本的にplotで並べた順だから、plot "> "で外部プログラム呼び出して判定していくしかないと我思う
2015/12/07(月) 11:23:57.78
Gnuplotはあくまでプロットソフトだからデータの解析には全く向いてない
例えば移動平均すらデフォルトではできなかったはず

あと個人的な興味なんだけど、最後のデータの大きい順に凡例を並び替えるってデフォルトの機能でできるソフトウェアってあるの?
シェアでもフリーでも
417名無しさん@お腹いっぱい。
垢版 |
2015/12/09(水) 16:10:54.12
>>412-416
ありがとうございました。
歴史の長いgnuplotならもしかしてマニアック機能であったりするんじゃないかと思って聞いてみました
データファイルの方を大きい順にするようにしてみます
2015/12/09(水) 16:48:05.59
マニアック機能って何だw
2015/12/09(水) 22:41:46.99
!sort in.csv > out.csv
2015/12/09(水) 23:27:19.08
ん?sortじゃまったく用件を満たさないと思うけど
2015/12/19(土) 21:50:40.78
gnuplotが楽しすぎる。
使い込むほど綺麗で見やすいグラフが作れるし、裏ワザ的なノウハウも蓄積されて
「こんなこともできるんだぜ!!」って自己満足にもひたれる。
仕事に集中できない時の良い暇つぶしになるし、
それが報告書掲載用のグラフづくりという実益にもなっています。

ありがとう、gnuplot。
2015/12/21(月) 22:53:37.93
神ツール!
2016/01/07(木) 18:11:04.82
数値計算の結果がうまく行ってグラフが綺麗に描けたとき、誰かに見せびらかしたくなる。
でも論文に載せるには適さない。業務上の秘密のため無闇に公開もできない。
ああ…
2016/01/20(水) 21:46:05.61
ラベルに latex 形式の数式が使える様になったら神ツールと認めても良いが、現状は凡ツールだな。
2016/01/20(水) 22:21:30.48
set encoding utf8
#set term svg
plot sin(x) ** 2 title 'sin^2 {/:Italic θ}'
2016/01/20(水) 22:24:16.80
ぐらいなら
2016/01/20(水) 22:40:49.98
tikzだめなの?
2016/01/21(木) 00:32:48.46
eps吐かせて手で書けばいいとおもう
gnuplotのpsってそんな複雑じゃないし
2016/01/23(土) 11:58:19.66
それを楽にするのがソフトウェアでしょう。
2016/01/25(月) 22:57:52.96
latexとの連携は面白いね。ぜひ実装してほしい

とかいいつつMSWordばっか使ってる俺
431424
垢版 |
2016/01/26(火) 00:58:29.23
俺は論文に載せるグラフは今でも plus パッチを当てた ver3 を使ってるよ。
ラベルで数式を気楽に書けないなんて不便極まりないないからね。
gnuplot3 の名前で自分のhomeにインストールしてる。
432名無しさん@お腹いっぱい。
垢版 |
2016/03/04(金) 12:37:07.83
2つの関数に挟まれた領域を塗りつぶすにはどうすればいいのでしょうか?
データファイルの2つの線の間を塗りつぶすことができるのは知っているのですが
データファイルじゃなくて関数で指定したいです。
433名無しさん@お腹いっぱい。
垢版 |
2016/03/04(金) 12:39:01.46
グラフ生成のスクリプトを作成して実行するとプロセスが残ってしまうのですが
プロセスを終了するにはどうすればいいのでしょうか?
繰り返し実行するとグラフは作成されるのですが、繰り返した回数だけ
gnuplotのプロセスが残ってしまいます。
OSはWindowsです。
2016/03/04(金) 15:40:37.66
>>433
こんなんしたときこっちではプロセス残ったりしない
C:\>more sin.plot
set terminal png
set output "sin.png"
plot sin(x)

C:\>gnuplot sin.plot
435名無しさん@お腹いっぱい。
垢版 |
2016/03/04(金) 17:01:18.01
>>434
最後にset outputを付けないと生成したファイルを開こうとすると他のプロセスが使用中
で開けませんってなりませんか?
set outputを付けないで何度がテストした感じだとプロセスが増えていないかもしれないですが
ファイルを開けないので実用に耐えないです。
マシンを再起動すれば開けましたが。
436名無しさん@お腹いっぱい。
垢版 |
2016/03/05(土) 11:17:41.35
>>434
最新のバージョンで試したらプロセスは残りませんでした。
古いバージョンのバグだったみたいです。お騒がせしました。
437名無しさん@お腹いっぱい。
垢版 |
2016/03/05(土) 21:25:37.67
matplotlibというものに出会ってどうでもよくなった。
2016/03/06(日) 13:30:52.44
で?
2016/03/06(日) 22:26:40.45
Python裏山スィ〜
440名無しさん@お腹いっぱい。
垢版 |
2016/03/06(日) 23:50:15.83
>>439
python載せたら良いじゃん。
matplotlib使ったらgnuplotなんて要らなくなるか、ちょっとしたグラフ描きたいぐらいのついでぐらいでしか使わなくなるよ。

本格的にやるんなら、python+numpy+matplotlib+pandasで何でも出来るぜ。
441名無しさん@お腹いっぱい。
垢版 |
2016/03/07(月) 00:16:40.15
gnuplotの使い方を分かってなさそう
どういう使い方してる?
442名無しさん@お腹いっぱい。
垢版 |
2016/03/12(土) 19:43:28.46
set label {/Symbol p}とかで出力する文字のフォントはどこで設定するんですか?
set label
443名無しさん@お腹いっぱい。
垢版 |
2016/03/12(土) 19:44:49.17
set label {/Symbol p}とかで出力する文字のフォントはどこで設定するんですか?
set label あいうえおとかのフォントは設定できるんですが、(この場合の)Symbolのπ
のフォントはデフォルト?が使われているみたいできれいじゃないです。
OSはWindowsです。

ダブルクオートはだめみたいなので再度書き込みます。
444名無しさん@お腹いっぱい。
垢版 |
2016/03/12(土) 20:16:53.87
>>443です。
terminalをwindowsにしたらきれいなフォントで出力されました。
wtxの問題のようですが、wtxのフォントの設定は特殊なんでしょうか?
445名無しさん@お腹いっぱい。
垢版 |
2016/03/13(日) 13:16:12.66
θとかで記号を記述できることを見つけたんだけど
どういう機能なんだろ?
マニュアルで探しても見つけられなかったんだけど
機能の名前とか説明しているページとか知ってたら教えて
2016/03/13(日) 14:48:53.43
エンティティを参照してるんじゃ
447名無しさん@お腹いっぱい。
垢版 |
2016/03/13(日) 18:13:42.75
>>446
エンティティって何だろう?
マニュアルを検索しても見当たらなかったけど
2016/03/13(日) 18:41:28.85
文字実体参照 character entity reference
449名無しさん@お腹いっぱい。
垢版 |
2016/03/13(日) 20:12:53.93
>>446
θの形式がcharacter entity referenceだってこと?
ただ、character entity referenceをgnuplotがどうサポートしてるかについては
マニュアルもWebのページも見つけられない
PNGとかでしか使えないみたいだからgnuplotの機能じゃなくてGDライブラリの機能かもしれない
450名無しさん@お腹いっぱい。
垢版 |
2016/03/13(日) 20:13:28.54
PNG出力のときとかしか使えない
2016/03/14(月) 11:08:01.43
SVGなら分かるが
452名無しさん@お腹いっぱい。
垢版 |
2016/03/14(月) 13:04:43.68
>>451
教えてー
2016/03/16(水) 14:52:38.61
HTML, XML, SVGだと みたいに実体参照できる
2016/03/17(木) 17:39:50.48
>>452 >>453
これってsvg のスクリプトのことですよね。だから、svgターミナルからはできないってことでいいのかな。
svgをはきださせて、スクリプトをエディタで編集するってことでいいんですか?
455名無しさん@お腹いっぱい。
垢版 |
2016/03/18(金) 08:35:56.06
>>454
テストしたらこうでした。
pngかgifとかでしか使えないみたい。

set terminal wxt noenhance
plot x title
456名無しさん@お腹いっぱい。
垢版 |
2016/03/18(金) 08:36:56.13
>>454
テストしたらこうでした。
pngかgifとかでしか使えないみたい。

set terminal wxt noenhance
plot x title θ
タイトルは「θ」

set terminal png noenhance
plot x title θ
タイトルは「θ」

set terminal svg noenhance
plot x title θ
タイトルは「θ」

(ダブルクオートは書き込めなかったから消してます)
2016/03/18(金) 10:17:14.76
>>456
情報ありがとう。
便利な機能なので、
feature requestでもだしてみます。

#お前がやれと言われそうですが
458名無しさん@お腹いっぱい。
垢版 |
2016/03/18(金) 10:55:00.38
>>457
よろしく。
ちなみに/Symbolでも記号を指定できるんだけどSymbolフォントの扱いが
terminalによってばらばらなんだよね。
確かwxtだとデフォルトのフォントを指定してもSymbolフォントになってしまって
実際にはかっこ悪いフォントが選択される。
pngだとデフォルトのフォントが反映されたような。
2016/03/18(金) 19:29:25.16
>>458

パソコンから書き込んだら2chブラウザで見れないので、スマホから書き込んでいます。

windowsの文字コード表(起動の仕方は、ググって下さい。m(__)m)を起動してTimes New Romanのフォントを探すとギリシャ文字がでてくるので、これをスクリプトを書いているエディタにコピペします。

enhanced textでは

'{/Times-New-Roman π}'

でπの部分は実際は文字コード表からとってきたコードのフォントです。シングルクォートを使う方がお勧めです。(ダブルクォートでないとできないこともあるようですが。)

wxt だけでなく、色々なターミナルで使える方法です。
2016/03/19(土) 00:12:01.39
>>459
Times New Roman のようにフォント名にスペースがある場合は、スペースをハイフン(-)で置き換える(Times-New-Roman)のがTipsです。(これで大分悩んだ(*_*))。
2016/03/19(土) 07:39:58.99
>>456
ちなみにenhanced textでは、{'/:Italic \θ'} のように書く。
2016/03/19(土) 07:42:47.38
>>461
間違えた。
'{/:Italic \&theta}'
2016/03/19(土) 10:01:00.52
>>458
feature requestsに
あげました。
https://sourceforge.net/p/gnuplot/feature-requests/440/
464名無しさん@お腹いっぱい。
垢版 |
2016/03/19(土) 10:16:33.23
>>463
ありがとう。
どうしてgdを使っているterminalは対応しているのかだけでも分かればすっきりする。
2016/03/21(月) 15:24:03.53
Unix板なのにWindowsの話ですいません。でも、このビルドツールはunix類似環境で動くので言い訳しておきます。

Build instructions using MSYS2/Mingw-w64

https://sourceforge.net/p/gnuplot/support-requests/199/

このインストラクションにそって開発版のgnuplotのビルドが出来ました。

いい時代になったものだ。
2016/03/22(火) 17:53:20.30
>>464
http://gnuplot.10905.n7.nabble.com/Why-the-gd-based-terminal-does-support-chracter-entity-reference-tp20037p20039.html

が理由のようです。

予想されたようにlibgdの機能を使っているようです。

他で実装するのは、不可能ではないと思いますが、まあ、やってくれないでしょう。
2016/03/22(火) 17:56:56.34
とりあえずは、>>459の方法を使って下さい。この方法は、この方法で合理性がある方法なので。
468名無しさん@お腹いっぱい。
垢版 |
2016/03/24(木) 11:55:45.02
>>466
やっぱりそうなんだ。
お蔭様ですっきりしました。
2016/04/03(日) 06:17:01.59
cygwin版gnuplotのcairoベースターミナル(wxt,pngcairo, pdfcairoなど)で
Windowsのフォントディレクトリにあるフォントを使うには,fontconfigで
そのように設定すればいい。

/etc/fonts/ にlocal.confを作成し,

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<dir>/cygdrive/c/Windows/Fonts</dir>
</fontconfig>

と書く。そののち,
$ fc-cache -fv
を実行する。
上は,C:\Windows\Fontsに(まあ普通はそう)にWindowsのフォントがある
場合なのでその他の場合は /cygdrive/c/Windows/Fonts を適宜書き直す。
これでは,全ユーザーに設定がいく。

ユーザー限定では,
~/.local/share/fonts/
または
~/.fonts/

にlocal.confを作成すればよいようだ。
(fc-cache -fvが上の二つを見にいっている。)

これは,gnuplotに限らず,fontconfigでフォントをハンドルしているアプリケーションすべてで
成り立つ設定だ。
これでLANG=Cしなくても,wxtターミナルのフォントがまともになった。
470名無しさん@お腹いっぱい。
垢版 |
2016/04/09(土) 01:14:22.79
塗りつぶしていない領域と塗りつぶした領域で点線の色を変えるにはどうすればいいんでしょうか?

set terminal png
set grid front
plot x with filledcurves x1
を実行すると塗りつぶした領域では格子線が白で表示されるので分かりやすいです。

同じような効果を得たいのですが、wxtやpngcairoに出力した場合は点線の色が常に黒になるため
塗りつぶした領域では点線が見づらくなってしまいます。

白と黒の点線を指定できれば同じ効果が得られるんでしょうが
点線の地の色と線の色を両方指定する方法とかないのでしょうか?
2016/04/09(土) 21:51:44.26
> 点線の色が常に黒になるため
点線が常に黒というのがよくわかりません。
2016/04/09(土) 21:58:05.31
理解力がなかったm(__)m。gridの点線の話か。
png だけ違うのは、libgdの機能のせいかもしれない。
473名無しさん@お腹いっぱい。
垢版 |
2016/04/09(土) 23:21:55.69
>>472
そうだと思うんだけど、塗りつぶしていない領域と塗りつぶした領域で
点線の色を変える方法を知ってたら教えて欲しいです。
2016/04/10(日) 07:07:40.01
>>473
ここで、答えがつかないようならgnuplot Q&A 掲示板で聞いてみたら?
名前さらすのがいやならハンドルネームでいい訳だし。
475名無しさん@お腹いっぱい。
垢版 |
2016/04/10(日) 10:09:03.18
>>474
聞いてみる。
どこが一番活発なんだろう?
476名無しさん@お腹いっぱい。
垢版 |
2016/04/10(日) 12:31:15.94
gnuplot Q&A 掲示板に投稿しようとしたら書き込み不可って言われた…。
2016/04/10(日) 16:49:37.50
gnuplot Q&A 掲示板の3129番に投稿しておいた。
2016/04/10(日) 19:15:05.90
>>476 gnuplot Q&A 掲示板への投稿は、スマホからでもできますよ。現に3129番への投稿はスマホから。
479名無しさん@お腹いっぱい。
垢版 |
2016/04/11(月) 14:34:46.47
>>477
パソコンから書き込もうとしたんですが、だめでした。
代理投稿ありがとうございました。
2016/04/11(月) 17:34:00.25
>>479

grid線を灰色にかえるという、代替案が掲示板ででました。
これでいいかどうかは、話題主さん次第です。別の回答者が現れるかもしれません。
481名無しさん@お腹いっぱい。
垢版 |
2016/04/11(月) 19:54:01.11
>>480
塗り津美している領域と塗りつぶしていない領域で点線の色を変えたいのでちょっと違います。
でも、それを実現する設定はたぶんないんでしょうね。
2016/04/11(月) 21:29:33.44
なんでこの質問者のレスは全てイラッとするんだろうか…
2016/04/11(月) 23:40:35.91
>>481
pngターミナルでgridの色分けしているように見えるのは、錯覚らしい。

領域の境目の座標がわかればver. 5
なら、plotコマンドと三項演算子とfor文などつかって強引にやれんことはないかな。

問題は、領域の境目の座標を知ることだと思います。例のように直線ならば簡単ですが。
2016/04/12(火) 01:48:55.60
>>483
身落とし。set arrowとdo for使うアイディアが出されていました。
2016/04/12(火) 08:56:05.06
>>484
身落とし => 見落とし
m(__)m
486名無しさん@お腹いっぱい。
垢版 |
2016/04/12(火) 11:32:04.61
>>483
なるほど。pngではgridの色と点線が違うことが理由でしたか。
すっきりしました。ありがとうございます。
487名無しさん@お腹いっぱい。
垢版 |
2016/04/12(火) 16:50:18.67
gnuplot Q&A 掲示板の書き込み読んだらgnuplotを使い込んでいてすごい。
gnuplotを仕事で使ってるのかな?
2016/04/12(火) 18:53:19.58
>>487
仕事で使っている人ですよ。私も仕事で使ってます。

掲示板便利ですよ。
489名無しさん@お腹いっぱい。
垢版 |
2016/04/12(火) 19:24:08.06
>>488
やっぱり。かなり使い込んでそうだから。
データ分析とかに使うことが多いんですか?
2016/04/12(火) 21:59:54.21
>>489
論文にのせる図の作成。
日頃の実験データの整理。
自作の機器制御プログラムでのリアルタイムプロット。
fitコマンドによるパラメータ最適化。

等々。

gnuplotに触らない日の方が少ない位です。

本格的データ解析はoctaveでやりますが、gnuplotの方が遥かに使用頻度が高いです。
491名無しさん@お腹いっぱい。
垢版 |
2016/04/13(水) 01:34:26.69
>>490
大学の研究ですか。楽しそう。
実験データをまとめて比較したりしているんですかねえ。
使い方のノウハウとかプロセスとかたまってそうでうらやましいです。
2016/04/14(木) 06:27:39.86
>>487
takeno.iee.niit.ac.jp/~shige/gnuplot/gnuplot.html#info

このぺーじは本当に情報の宝庫です。もしご存じなければご覧あれ。

gnuplot Q&A 掲示板にも頻繁に登場されておーと思う回答をされます。
2016/04/14(木) 06:30:09.65
>>492
リンクミス。
http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gnuplot.html#info
2016/04/14(木) 07:28:47.85
>>492 >>493
ここも見てみて下さい。
http://www.ss.scphys.kyot-u.ac.jp/person/yonezawa/contents/program/gnuplot/
2016/04/14(木) 07:30:48.38
>>494
また、リンクミスm(__)m。
http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/
496名無しさん@お腹いっぱい。
垢版 |
2016/04/14(木) 14:14:45.21
サイトの情報ありがとうございます。
読んでみます。
2016/04/15(金) 23:02:56.09
gnuplot+gawkの環境で、fileAの3列目を横軸に、fileBの5列目を縦軸にグラフを描くにはどうすれば良いですか?
2016/04/15(金) 23:36:36.37
>>497
awkは基本的に一つのテーブル型のデータファイルを手抜きして操作できるスクリプト。
二つのデータファイルをあつかうにはpasteコマンドでファイルを連結させるのが常套。
pasteを使うのが前提ならばawkは不要。

http://folk.uio.no/hpl/scripting/doc/gnuplot/Kawano/datafile3.html#paste
2016/04/16(土) 00:00:32.74
時間分解能の違う2種類の時系列データで同時刻の際の相関を見るとかだと
awkの連想配列が便利と言えば便利かもね
500名無しさん@お腹いっぱい。
垢版 |
2016/04/16(土) 00:50:28.09
>>498
ありがとうございました
思った通りに動作しました
>>499
今回は同じだったので異なる場合を見るときは使ってみます
501名無しさん@お腹いっぱい。
垢版 |
2016/04/16(土) 18:49:39.25
3次元のグラフの目盛の数字と目盛のラベルが他の軸だったり、軸の線と重なる
ことがありますが、どうするのがいいのでしょうか?
viewやoffsetを調整することはできるのですが、場当たり的な対応であり、
手間もかかるので、うまい対処方法はないでしょうか?
2016/04/16(土) 21:39:00.43
>>501

これは、難しい。3Dだから。自分にはいわれている場当たり的対応しか、思い付かない。statsも2次元だし。

ダメもとでgnuplot Q&A 掲示板で聞いてみるとか。
2016/04/17(日) 06:38:01.46
>>501
gnuplot Q&A 掲示板
に投稿してみた。
3140番です。
504名無しさん@お腹いっぱい。
垢版 |
2016/04/17(日) 12:00:52.34
>>503
ありがとうございます。
505名無しさん@お腹いっぱい。
垢版 |
2016/04/18(月) 01:40:05.39
>>502
viewの角度を元にoffsetを調整することを思いついて試してみたんですが
gnuplotが目盛の表示位置を調整しているため、うまく行かないです。
zを25度回転したあたりで1文字分ずらすようです。
ソースを読めば動作が分かるんでしょうがそこまでできないでいます…。
2016/04/18(月) 09:16:11.00
だからお前らがソース読めってか?
2016/04/18(月) 18:07:49.57
>>501 >>505
gnuplot Q&A 掲示板の3142番の回答のようにバグの可能性があります。

bug ticketsに登録できますか?

やり方がわからないならアシストします。
508名無しさん@お腹いっぱい。
垢版 |
2016/04/18(月) 19:56:58.35
z軸の回転角度を26〜154度にするとy軸の目盛が急に軸に近づくのは
おかしい気はしていました。バグなんですかねえ。

bug ticketsに登録したことはないので自信はないです…。
Statusはopenで、Ownerは空でいいと思うし、内容は何とか書けないこともないと思うんですが
Milestone、Priority、Labelsはどうするんだろうという感じです。

.scに書き込んでしまったので念のため.netからも。
2016/04/19(火) 00:45:42.25
> Milestone、Priority、Labelsはどうするんだろうという感じです。
ここらは、全部空欄でいいですよ。

私がレポートするときはじめは、気にしてましたが、今は気にしてません。

最初だけは、Anonymousで書き込めますが、やりとりをするにはsourceforgeのアカウントが必要です。アカウント名は、ハンドルネームでもかまいません。

gnuplot Q&Aの回答にあったスクリプトはつけておくことをおすすめします。
510名無しさん@お腹いっぱい。
垢版 |
2016/04/19(火) 12:21:11.42
>>509
なるほど。登録してみます。
ちなみにviewの角度を元にoffsetを調整する関数が書けそうなのでそれを
完成させてから合わせてbug ticketsに登録しようと思います。
511名無しさん@お腹いっぱい。
垢版 |
2016/04/19(火) 20:19:16.92
>>506
登録しました。
https://sourceforge.net/p/gnuplot/bugs/1781/

対応してくれるでしょうか。
512名無しさん@お腹いっぱい。
垢版 |
2016/04/19(火) 20:35:11.04
>>507宛でした。
513名無しさん@お腹いっぱい。
垢版 |
2016/04/19(火) 20:39:21.29
なお、>>507さんに対応して下さいということではないです。
誰かに対応してもらえるかなあ?という思いを率直に書いただけです。
あしからず。
2016/04/19(火) 21:13:46.55
>>513
登録確認しました。

デベロッパ側の返事があるといいですね。
515名無しさん@お腹いっぱい。
垢版 |
2016/04/20(水) 02:41:15.26
dgrid3dによる変換後のデータと元データを同じグラフで描画する方法は
あるのでしょうか?

イメージとしては以下の両方のコマンドを描画したいです。
splot "scatter.dat" using 1:2:3 with impulses
set dgrid3d
splot "scatter.dat" using 1:2:3 with lines

ところが、それをしたいと思って以下を実行すると
impulsesも変換後のデータを使ってしまいます。
set dgrid3d
splot "scatter.dat" using 1:2:3 with lines, \
"scatter.dat" using 1:2:3 with impulses
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況