X

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/
2016/05/19(木) 14:40:50.21
>>569
まあ、ubuntu 14.04のgnuplotは、古すぎるので自分でビルドしたものを使ってますが。
2016/05/19(木) 19:12:14.64
>>560
補完やヒストリーを設定するには、GNU readlineをリンクしてビルドするまたはしてあることが必要なようだ。

GNU readlineをリンクしてあればinputrcにカスタマイズを書くことができると思う。

私は、窓上ではxyzzy 上で動くwgnuplot-modeを
linux上ならならemacsのgnuplot-modeを使っているので
readlineのお世話になることがほとんどない。
2016/05/20(金) 23:16:28.72
描画エリアの大きさを固定したい
2016/05/21(土) 06:02:37.99
>>572

質問が曖昧なのでなんとも言い難いですが。

これは、例えばプロットの四角形の領域を軸ラベルの設定などに影響されないようにしたいということですかね。

私もやりたいのですが、いまはターミナルのサイズを調整してやっている。

それなら私も教えて欲しいです。
2016/05/25(水) 22:12:21.71
>>572 >>573
gnuplot Q&A 掲示板 3182
を見てください。
set size ratio

set margin
を上手く使って下さい。
それぞれのhelpやマニュアルをご覧下さい。
575名無しさん@お腹いっぱい。
垢版 |
2016/07/14(木) 12:50:19.62
100x + 200y = 5000が表す平面を描画するにはどうすればいいのでしょうか?
zの関数としては記述できなさそうなので、どうすればいいか分からないです。
2016/07/14(木) 19:24:39.82
見つけました。媒介変数を使えばできるみたいです。
2016/07/14(木) 20:47:28.38
100x + 200y = 5000
は直線の方程式では?
2016/07/14(木) 21:09:59.49
X=100は点か?線か?面か?
3次元の話ししてんだからその式も面だろ
2016/07/14(木) 21:25:44.61
>>577
数学的に面です。
2016/07/14(木) 21:26:50.87
空間座標では面というのが正しかったです。
2016/07/15(金) 20:14:54.38
>>579
確かに面ですね。すいません。m(__)m。
また、媒介変数を使わないとgnuplotでは描けない面です。
2016/07/15(金) 20:16:04.73
5.0.4 Release Candidateがアップロードされました。
windowsのテストバイナリもアップされています。

https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0%20release%20candidates/
2016/07/22(金) 09:48:30.93
gnuplot 5.0.4がリリースされました。

https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.4/
2016/09/22(木) 13:04:05.15
一列分の数値列をプロットするときに、一行目の数値で全数値を割ったものをプロットすることは可能?

ほんとは最大値で割りたいが、この場合はとりあえず一行目の数値が最大値であるとする
2016/09/22(木) 18:41:21.55
>>584

version 5を使えば可能です。

http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/stats.html

のstatsの応用をみてください。
最大値でのノーマライズも可能で私はよく使ってます。
2016/09/22(木) 18:48:32.47
>>585
すみませんm(__)m。
バージョン 5からの機能と勘違い。
4でもあるバージョンから使えるよう。
お使いのgnuplotで

help stats

で確認してください。
2016/09/22(木) 20:33:19.50
>>585-586
こりゃ便利だな
ありがとう
昨日は結局自作関数を作ったが、今後はこちらを使おうと思う

複数のファイルに対応する場合は順番に読み込んで覚えるしかないのかもしれんが
2016/10/17(月) 17:57:36.43
2番めのプロット色が,デフォルトでdark-greenとなる方法を教えてください.
あの見難い黄緑色が許せません
2016/10/26(水) 13:26:40.01
.gnuplotに書きなさい
590名無しさん@お腹いっぱい。
垢版 |
2016/11/17(木) 17:41:19.08
使用OSはWindows10 Enterprise
gnuplot ver.はVersion 5.0 patchlevel 4です。

wxtターミナルに出力された画像をそのままpngで保存したいです。

set terminal png size XXX, YYY
set output 'test.png'
replot
set output
set terminal wxt

で保存した場合、パソコン画面上のwxtターミナルに表示される画像と比べ、
ラベルの位置などがずれてしまいます。

wxtターミナル右上にある
591名無しさん@お腹いっぱい。
垢版 |
2016/11/17(木) 17:41:47.13
使用OSはWindows10 Enterprise
gnuplot ver.はVersion 5.0 patchlevel 4です。

wxtターミナルに出力された画像をそのままpngで保存したいです。

set terminal png size XXX, YYY
set output 'test.png'
replot
set output
set terminal wxt

で保存した場合、パソコン画面上のwxtターミナルに表示される画像と比べ、
ラベルの位置などがずれてしまいます。

wxtターミナル右上にある"Export plot to file"をクリックして画像を保存すれば、
希望のものを得られるのですが、
gif動画作成のため100枚程度保存するので時間がかかります。

inputファイルはそのまま使いたいため、何か良い方法はありませんでしょうか?
2016/11/28(月) 22:39:45.32
>>591

wxtの画像をスクリプトでpngには落とす方法はないと思います。
pngターミナルよりpngcairoターミナルの方が、wxtに近い画像が得られます。同じではありませんが、より近くなります。描画エンジンに共通のものを使っているので。

私はpngをバッチで生成するときはpngcairoターミナルを使っています。
2016/12/01(木) 21:00:39.96
数値データをファイルから読み取って2Dグラフにしたいんですが,
plot "datafile" with lines
でdatafileの中身が
0.1 1.2
0.2 1.34
0.3 1.51
0.4 1.7
...
みたいなデータだったら線で結ばれますが,
0.1 1.2

0.2 1.34

0.3 1.51

0.4 1.7
...
みたいにデータ行の前後に空白行がある場合はlinesだと何も表示されません。
データファイルの内容によって,前者であればlinesで線のみ,
後者であればpointsでプロットマークを表示させるようなことがしたいのですが,
いい方法ないでしょうか?
もちろんplotコマンドを打つ段階ではファイルの中身はわからないという前提で。
2016/12/02(金) 09:00:22.05
>>593
linespoints は?
595593
垢版 |
2016/12/02(金) 19:49:03.35
説明足りなくてすみません。
前者のデータでは線だけ,後者のデータならポイントだけ,
というふうにしたいんです。
with linespoints にすると,後者はポイントだけになりますが
前者はポイントが線で結ばれる形になりますよね。
2016/12/15(木) 09:00:04.67
pointtypeのデフォルトってlinestyleとして定義するしか設定する方法ない?
2017/01/04(水) 16:39:20.49
遅ればせながらgnuplot 5.0.5 windowsバイナリ(テスト用)
をアップロードしました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/testing/5.0.5-windows-binary/

試してみてください。
なにかありましたら,連絡ください。
2017/01/19(木) 17:03:18.47
gnuplot 5.0.5 windowsバイナリを
正式な置き場に移しました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.5/
2017/02/16(木) 13:01:54.37
>>354

ずいぶん昔の話ですが、cvsで修正が入ったようです。

https://sourceforge.net/p/gnuplot/bugs/1492/
2017/02/28(火) 19:28:29.78
5.0.6 pre-release のテスト用のwindowsバイナリが出たようです。

http://gnuplot.10905.n7.nabble.com/no-subject-td20534.html
2017/03/01(水) 06:23:53.33
>>600

ソースもアップロードされました。
2017/03/23(木) 13:29:42.12
5.0.6がリリースされました。windows バイナリもアップしました。
2017/03/23(木) 19:10:55.57
最5.0.6の環境で質問があります
3次元空間に4点打って四角形を描写しようとしたのですが
(splot " " using 1:2:3 with linesを使用して)
どうも上手くいかない…というか変な結果が表示されてしまいます。
3.030793 -9.510565 0.602862
3.090170 -9.510565 0.000000
4.539905 -8.910065 0.000000
4.452672 -8.910065 0.885692

2.854945 -9.510565 1.182557
3.030793 -9.510565 0.602862
4.452672 -8.910065 0.885692
4.194325 -8.910065 1.737346

4.452672 -8.910065 0.885692
4.539905 -8.910065 0.000000
5.877853 -8.090170 0.000000
5.764911 -8.090170 1.146712

という座標を持つ3つの四角形を書こうと上記座標列をファイルに入れてsplotで出力すると
ひしゃげた?というか明らかに四角形ではない結果が出るのですが
何かこちら側の方法等に問題があるのでしょうか
2017/03/24(金) 02:56:36.39
ただのアスペクト比じゃねーの?
2017/03/24(金) 04:51:18.41
>>604
アスペクト比による問題では無いと思います。
なんでしたら上記データを出力して頂ければ幸いです。
ただしく描写されれば、四角形3つでLのような形をしていると思います。
因みに、違う描写ソフト(paraview)にて出力した所、問題無くメッシュが生成されました。
2017/03/24(金) 22:31:27.73
あれ?アスペクト比と思ったけど、そもそもこのデータじゃ閉じないし、そのコマンドだと一筆書きじゃないか?
5.0.6ならそういう描き方できんの?
2017/03/25(土) 05:49:05.96
自分が調べた限り、どのver以降可能になったかは不明ですが、3列の数字4行を1束とするとそれだけで、
1行目:節点1のx,y,x座標
2行目:節点2の...
3行目:節点3の...
4行目:節点4の...
として空間上に節点1から4まで四角形を結んでくれるみたいです
3.030793 -9.510565 0.602862
3.090170 -9.510565 0.000000
4.539905 -8.910065 0.000000
4.452672 -8.910065 0.885692

だけをファイルに入れてsplotしてみると四角形が一つ出来ると思います。
改行して2束目を追加すると四角形が並んで表示されると思います。
しかし、3束目を追加すると何故かおかしくなってしまい、その理由を知りたく質問させて頂きました。
2017/03/25(土) 08:04:30.08
四角形になる方が意図しない動作だったりして
2017/03/25(土) 17:42:38.77
なるほど
この書き方は本来四角形を作る為のものでは無いので
出力した際に意図しない形になってしまう事もある。
ということなら納得です。
座標郡をファイルに書き込み、gnuplotに四角形郡として読み込ませて出力、
という使い方をしたかったのですが、一番簡単だったのが上記の書き方だったので…。

ただ、今まで何回も全く同じ書き方をした座標データで四角形メッシュが問題なく
表示出来ていたので
何故突然今回だけダメになったのか、という疑問もありましてちょっとモヤっとしますね
2017/03/25(土) 18:34:53.61
最初の行を最後にも書いて全部で5行にすればいいのでは
2017/05/07(日) 10:23:55.75
かそってますね
2017/05/16(火) 17:31:18.41
gnuplot 5.2への動きがはじまったようです。
http://gnuplot.10905.n7.nabble.com/Time-to-think-of-version-5-2-td20623.html
2017/05/23(火) 06:41:14.82
New stable CVS branch for preparing first version 5.2 release candidate


http://gnuplot.10905.n7.nabble.com/New-stable-CVS-branch-for-preparing-first-version-5-2-release-candidate-tp20633.html

いよいよ
5.2rcが近づいてきました。
614名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 23:11:48.25
物理実験で測定したデータを
近似直線と一緒に両対数グラ
フで表示したいのですがcolo
r axis has cb coord of 0; mu
st be above 0 for log scale
と表示され近似直線を表示
することができません。範囲
を絞っても駄目でした。どう
すればいいでしょうか。ちな
みに両対数グラフでない場合
には表示できました。
2017/05/31(水) 23:53:05.79
>>614
どこを縦読み・・・?
2017/06/01(木) 01:33:44.57
近似式なんだから、データによっちゃ定義域内で負になっちゃうケースも出てくるだろう
関数値がゼロ以下の時は十分小さな正数に置き換えるように関数の場合分けをすればいい
617名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 06:26:41.10
値域を絞っても駄目でした
2017/06/01(木) 08:52:42.64
絞っただけで分かるわけない
再現コードで示せ
2017/06/01(木) 10:39:03.48
f(x) > 0 ? f(x) : 1/0
2017/06/01(木) 12:00:39.90
gnuplotで再帰使えたか自信ないけど、無限再帰になってない?
f(x)=hoge
g(x)=(f(x)>0) ? f(x) : 1E-8
試してないけど
621名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 23:14:06.58
打ったコードはこんな感じです

set xl "{/Arial-Italic P_1}[Pa]"
set yl "{/Arial-Italic P_2}[Pa]"
set logscale
plot [1:10000][1:10000]"k.dat" using 1:2 title "較正直線"
f(x)=a*x+b
fit f(x) 'k.dat' using (log10($1)):(log10($2)) via a,b
replot 10**(f(log10(x)))

こうすると1つ目のグラフしか表示されず
color axis has cb coord of 0; must be above 0 for log scale !
と出てきます
622名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 23:23:01.48
無限再起ってのはよくわかりません
2017/06/02(金) 23:19:25.11
replotは前回のplotした関数を呼び出すから、一つ目しか描かれんのが当然
言い方が正しいかはわからんが、global に定義してないから、最後の関数はあらゆるxに対して定義されてるのでエラーが出る

もう数年Gnuplot 使ってないから、仕様が変わってたらスマンコ
2017/06/02(金) 23:20:49.10
global に定義されてない→global にxの範囲が定義されてない
2017/06/03(土) 03:32:39.22
gnuplo-5.2 rc1がリリースされました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2%20release%20candidates/
先ほどwindows バイナリもアップロードしました。
2017/06/03(土) 11:29:24.07
>>621
replotのところ、こんな感じか、

plot [1:10000][1:10000] "k.dat" using 1:2 title "較正直線"
, 10**(f(log10(x))) lt -1
2017/06/03(土) 12:32:19.13
>>621

k.dat
のサンプルデータを晒してくれ、こっちで動かしてみる。
2017/07/04(火) 23:00:07.46
gnuplo-5.2 rc2がリリースされました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2%20release%20candidates/
先ほどwindows バイナリもアップロードしました。
5.2.0に向けて順調に進んでいると思います。
2017/07/12(水) 21:09:35.86
Windows platform でのCVS ソースの要求がwindows 7以降になりました。

ChangeLogより

2017-07-07 Bastian Maerkisch <bmaerkisch@web.de>

* src/syscfg.h: Minimum required API version is Windows 7 by
default. Vista and XP are end-of-service.
2017/07/25(火) 15:12:04.08
媒介変数表示した円とy=x**2のグラフを同時に表示したいのですが
どうしたら良いでしょうか
円と2次関数の表示については別々の表示は出来ますが
現在はどちらか一方しか表示できず困っています。

set xrange [-3:3]
set yrange [-3:3]
set parametric
set size ratio -1
set zeroaxis

plot 1 + cos(t), 1+sin(t)
unset parametric
plot x ** 2
replot
pause -1
2017/07/25(火) 15:19:29.44
set zeroaxis
の下に
set multiplot
と書いたら上手く行きました。
失礼しました。
2017/08/01(火) 19:11:29.48
gnuplot 5.2 rc 4が出ました。

Windowsビルドに問題があったのを
適当に自己解決していたのですが,正しい方法で解決したものが
rc4としてリリースされました。
ソース自体はrc3と変わりません。
windowsバイナリも一応作成しました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2%20release%20candidates/
2017/08/17(木) 06:38:21.40
gnuplot-5.0.7 がリリースされました。
5.0.xの最後のバージョンになる予定です。

Windowsバイナリもアップロードしました。

https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.7/
2017/08/17(木) 11:01:34.53
5.0の次は5.2なの?
2017/08/17(木) 20:20:49.43
>>634
gnuplot バージョンナンバー を X.Y.Z
とすると
Xがメジャーバージョンナンバー
Yがマイナーバージョンナンバー
Zがパッチレベル

Yが
偶数がリリース版
奇数は開発版
現在の開発版は5.3
次のリリース版は5.2
となります。
Ethanさん(メインの開発者)によると8月末に
5.2.0がリリース予定
2017/08/18(金) 01:23:12.10
サンクス
2017/08/22(火) 14:36:57.11
よくわからない慣習だよな
2017/08/22(火) 14:54:02.08
そう?
わかりやすいと思うが
2017/08/26(土) 00:38:27.53
Linuxカーネルはそのルールやめたんじゃなかった?
2.x.0の奇数と偶数
最近はどれも一番頭の数字をガンガン上げるスタイルで気に入らない
2017/08/26(土) 04:42:21.83
Tick-tackモデルとかiPhoneモデルナンバーとか
2017/08/26(土) 10:46:52.26
>>639
Linuxはやめたけど、それが何か関係あるの?
2017/08/29(火) 00:21:00.92
同じデータ並びのファイルaaa、bbb、cccを同じ列で表示するのに
plot "aaa" u 1:5 , "bbb" u 1:5 , "ccc" u 1:5
てやるの面倒なんだけどもっといい方法ないですかね?
plot "{aaa,bbb,ccc}" u 1:5
みたいにできたら楽なんだけど
2017/08/29(火) 07:15:55.53
cat
2017/09/04(月) 22:53:13.08
5.2.0正式リリース来たよ
2017/09/06(水) 06:59:43.30
このスレの質問と回答がうに板を象徴してる
2017/09/06(水) 07:02:02.90
>>641
>>639 はもしかしたら "GNU"plot と思ってるのかもしれない。
GNU/plot <=> GNU/Linux
そっくりんこ。
だからこそ,
GNU/Linux のバージョン管理と,
gnuplot のそれとを,
同じシステムと思ったのかも
知れない
2017/09/06(水) 09:50:59.51
考え過ぎ
2017/09/08(金) 02:36:01.64
考えすぎるにしくことはなし
2017/09/23(土) 06:29:39.84
>>642
今更だけどplot forでいいんだよね?
2017/10/16(月) 04:07:42.18
あるファイルのデータをプロットするときに、正の値を○、負の値を&#9747;で表す方法はあるでしょうか。
2017/10/16(月) 21:57:43.89
>>650
linespointsじゃなくてpointsでいいなら正のデータファイルと負のデータファイルに分けてそれぞれ異なるpointtypeでプロット
652名無しさん@お腹いっぱい。
垢版 |
2017/10/16(月) 23:28:29.43
三項演算子で
2017/10/17(火) 07:30:24.41
>>651-652
ありがとうございます。
三項演算子でできました。
元々は w lp でやるつもりでしたが、とりあえずこれでやっています
2017/12/28(木) 18:43:21.68
plot "hogehoge" with lines
ってやった時、hogehogeにデータが1点分しかないとなにも見えない。
大きさのない点なのかな?
複数点の時は線だけで、1点のときは自動的にpontsに切り替えるとか、
見えるように出来たらいいなあ。
2017/12/29(金) 03:59:50.05
>>654
w lp じゃだめなの?
656名無しさん@お腹いっぱい。
垢版 |
2017/12/29(金) 06:59:59.52
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

EUJFW4437U
657654
垢版 |
2017/12/29(金) 23:57:14.58
>>655

レスありがとうございます。
複数点の時は線だけにしたいんです。
2018/01/09(火) 20:50:31.32
デリミタを自動判別する機能ってないかな
いっそ自分で作るか
2018/01/20(土) 01:09:36.57
空間に直線が引く方法がどうしてもわかりません…
x=0,y=1で直線引く方法ってないですか?
2018/01/20(土) 23:00:26.26
手元にないので確認出来ないけどsplotは媒介変数って使えないんだっけ?
plotではx=1とかでそれ使えた気がする
データ作って表示させても良いような…
2018/01/23(火) 08:31:43.76
>>658
set datafile separator
でいかがですか
2018/01/23(火) 08:33:11.77
>>661

すいません。自動判別でしたね。
2018/01/23(火) 18:48:46.32
>>662
datafile separator
は複数指定できるので、それを使えばいいのては?
2018/01/25(木) 21:20:16.67
>>660
splotても媒介変数はつかえますよ。
2018/01/25(木) 22:01:29.53
だってさ >>659
x=0,y-1,z=t ,tの範囲設定で考えれば行けるんでは?
2018/01/25(木) 22:02:30.59
× y-1
○ y=1
2018/02/14(水) 09:22:59.09
☆ 私たち日本人の、日本国憲法を改正しましょう。現在、
衆議員と参議院の両院で、改憲議員が3分の2を超えております。
『憲法改正』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
2018/03/18(日) 09:45:44.98
>>469

windows/Fonts をcygwinのfontconfigが見るようにする、もっと簡単な方法がありました。

ln -s /cygdrive/c/Windows/Fonts /usr/share/fonts/windows

として

fc-cache -fv

とする。
2018/04/28(土) 11:57:38.95
https://sourceforge.net/projects/gnuplot/files/gnuplot/testing/
2018/04/28(土) 11:58:22.15
https://sourceforge.net/projects/gnuplot/files/gnuplot/testing/ 
レスを投稿する

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

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