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/01/26(月) 20:09:52.18
>>384
ファイル名を変えるw
2015/01/26(月) 21:03:53.14
>>385
(´・ω・`)
2015/01/27(火) 02:17:36.20
使えるからといって使うと「センスないね」などと詰られることが時々ある
理不尽と思うかもしれないがこればかりは慣れていただくしかない
2015/01/27(火) 13:14:54.17
支障ない限りは = : + - @ あたりの記号は自由に使うけどなぁ
とはいっても今の仕事はgnuplot必須なんで諦めてるけど・・・
2015/02/17(火) 19:32:54.93
Cygwinにgnuplot5.0が来たので使ってみたけど,表示がかなり変わるね.
色や実線/破線が変わるのは調整して何とかなったけど,
3次元プロット(splot)するときに『set grid』を使うと,XY平面上のグリッドが波打つのは困った.
ネットで解決策を探していたら.本家のdemoも波打っている.

gnuplot demo script: surface1.dem
http://gnuplot.sourceforge.net/demo/surface1.html
に載っているサンプル,たとえばこれとか↓
http://gnuplot.sourceforge.net/demo/surface1.1.png
http://gnuplot.sourceforge.net/demo/surface1.2.png

set grid に linestyle を追加したら直線になったけど,破線にはできなかった.
2015/03/06(金) 22:33:56.28
錯視じゃないの?
ホントはまっすぐなのに曲がって見えるとか。
2015/04/05(日) 20:51:47.57
例の2ちゃんの改変のせいか
ますます過疎ってるね
392名無しさん@お腹いっぱい。
垢版 |
2015/04/11(土) 00:42:01.25
ttp://www.becoolusers.com/excel/doughnut-chart02.html
こんな感じの二重ドーナッツグラフをgnuplotで作りたいのですがどうしたらいいですか?
円グラフの作り方は検索すると見つかりますが、ドーナッツグラフの作り方がわかりません
2015/04/12(日) 01:31:10.38
今ググって調べただけだけど、重ねて書けばいいんじゃない?

==> donut.plot <==
set size ratio -1
set xrange [-1:1]
set yrange [-1:1]
set style fill solid 0.4 border lc rgb "black"
plot "out.dat" using (0):(0):(1):2:3:($0+1) with circles lc var, \
"in.dat" using (0):(0):(0.75):2:3:($0+2) with circles lc var, \
"" using (0):(0):(0.5):(0):(360) with circles lc rgb "#ffffff"

==> out.dat <==
kanto -120 90
kansai 90 240

==> in.dat <==
tokyo -60 30
kana 30 90
osaka 90 190
kyoto 190 240
chiba 240 300
2015/05/28(木) 22:07:02.11
活きてますか?
395名無しさん@お腹いっぱい。
垢版 |
2015/06/01(月) 22:22:14.71
1
2015/06/10(水) 21:26:03.48
qtターミナルがシステムのqtテーマを反映しない
デフォルトのテーマになる
どこ見たら良いのか検討もつかん
2015/06/13(土) 04:48:18.05
>>396
qt本スレに移動する
2015/08/05(水) 21:26:05.78
過疎ってますな。
自分的にはgnuplotのような神ツールにはずいぶんお世話になってるので
盛り上がってほしいところだが。
2015/08/06(木) 16:17:41.49
5になったのにね
2015/08/06(木) 17:59:32.74
俺のQt terminalも矢印がダサい
2015/08/21(金) 01:25:15.33
terminalはなんとなくwxtにしてるわ
今は何が人気なんだろう
2015/08/21(金) 02:51:05.21
wxtかqtだろう

関心がなければx11か
2015/09/09(水) 17:01:27.53
これって逆関数のプロットってできませんか?
2015/09/10(木) 02:03:39.42
出来る
405名無しさん@お腹いっぱい。
垢版 |
2015/09/13(日) 18:25:28.43
よろしくです。
エクセルからのスペース出力データだとダメですよね?
テキストエディタで色々変更して流し込めました。
Mac OSでデータファイルを使うとき、改行コードとエンコは何を指定すると良いの?
2015/09/13(日) 23:39:52.33
日本語でおk
2015/10/20(火) 06:54:12.12
ワロタ
2015/11/01(日) 21:05:25.64
オマエラちょっと親切にしてやんないから
ますます過疎ってるじゃないか。
2015/11/03(火) 16:31:59.56
調べればできますしお寿司
2015/11/21(土) 01:02:31.49
>>405
環境によるとしか言えない
自分の場合はutf8, LF, タブ区切りがデフォ
エクセルも使ってた時はタブ区切りテキストで保存->nkfでエンコード変更してた
411名無しさん@お腹いっぱい。
垢版 |
2015/12/06(日) 13:24:23.55
ちょっとお聞きしたいのですが、
linepointsで書いたグラフの凡例を、
時系列の最後のデータの大きい順に並び替えることなどできないでしょうか?
2015/12/06(日) 14:21:50.74
デフォルトの機能じゃ無理
2015/12/06(日) 23:34:42.85
そうかな...
2015/12/07(月) 10:32:14.30
そうだよ
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
&theta;とかで記号を記述できることを見つけたんだけど
どういう機能なんだろ?
マニュアルで探しても見つけられなかったんだけど
機能の名前とか説明しているページとか知ってたら教えて
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
&theta;の形式が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だと&#160;みたいに実体参照できる
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 &theta;
タイトルは「&theta;」

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

set terminal svg noenhance
plot x title &theta;
タイトルは「&theta;」

(ダブルクオートは書き込めなかったから消してます)
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 \&theta;'} のように書く。
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使うアイディアが出されていました。
レスを投稿する

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

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