gnuplot を使おう。 その3 (955レス)
上下前次1-新
503(1): 2016/04/17(日)06:38 AAS
>>501
gnuplot Q&A 掲示板
に投稿してみた。
3140番です。
504: 2016/04/17(日)12:00 AAS
>>503
ありがとうございます。
505(1): 2016/04/18(月)01:40 AAS
>>502
viewの角度を元にoffsetを調整することを思いついて試してみたんですが
gnuplotが目盛の表示位置を調整しているため、うまく行かないです。
zを25度回転したあたりで1文字分ずらすようです。
ソースを読めば動作が分かるんでしょうがそこまでできないでいます…。
506(1): 2016/04/18(月)09:16 AAS
だからお前らがソース読めってか?
507(2): 2016/04/18(月)18:07 AAS
>>501 >>505
gnuplot Q&A 掲示板の3142番の回答のようにバグの可能性があります。
bug ticketsに登録できますか?
やり方がわからないならアシストします。
508: 2016/04/18(月)19:56 AAS
z軸の回転角度を26〜154度にするとy軸の目盛が急に軸に近づくのは
おかしい気はしていました。バグなんですかねえ。
bug ticketsに登録したことはないので自信はないです…。
Statusはopenで、Ownerは空でいいと思うし、内容は何とか書けないこともないと思うんですが
Milestone、Priority、Labelsはどうするんだろうという感じです。
.scに書き込んでしまったので念のため.netからも。
509(1): 2016/04/19(火)00:45 AAS
> Milestone、Priority、Labelsはどうするんだろうという感じです。
ここらは、全部空欄でいいですよ。
私がレポートするときはじめは、気にしてましたが、今は気にしてません。
最初だけは、Anonymousで書き込めますが、やりとりをするにはsourceforgeのアカウントが必要です。アカウント名は、ハンドルネームでもかまいません。
gnuplot Q&Aの回答にあったスクリプトはつけておくことをおすすめします。
510: 2016/04/19(火)12:21 AAS
>>509
なるほど。登録してみます。
ちなみにviewの角度を元にoffsetを調整する関数が書けそうなのでそれを
完成させてから合わせてbug ticketsに登録しようと思います。
511(1): 2016/04/19(火)20:19 AAS
>>506
登録しました。
外部リンク:sourceforge.net
対応してくれるでしょうか。
512: 2016/04/19(火)20:35 AAS
>>507宛でした。
513(1): 2016/04/19(火)20:39 AAS
なお、>>507さんに対応して下さいということではないです。
誰かに対応してもらえるかなあ?という思いを率直に書いただけです。
あしからず。
514: 2016/04/19(火)21:13 AAS
>>513
登録確認しました。
デベロッパ側の返事があるといいですね。
515(2): 2016/04/20(水)02:41 AAS
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
516(2): 2016/04/20(水)02:56 AAS
>>515
解決しました。
set table $dataに一度出力してから$dataとscatter.datを描画すればよかったです。
517(3): 2016/04/20(水)03:19 AAS
>>516
解決したと思ったら問題がまだ残っていました。
dgrid3dで作成されるデータは元データが存在する範囲に限られるので取り得る値であっても
データがなければ曲面は描画されません。
例えば100点満点のテストのグラフを描画したいのでグラフの範囲は[0:100]だけど
実際の最低点は30点で、最高点は90点だった場合、どのように示すのがいいでしょうか?
そのままグラフを示すと曲面が0〜100点を示していると誤解する人が出そうです。
グラフの範囲を[30:90]にするというのも一案だとは思いますが、
グラフの範囲は[0:100]だという前提で、曲面の範囲は30〜90点であることも
誤解なく示すにはどうするのがいいかアイデアを頂きたいです。
518(1): 2016/04/20(水)03:54 AAS
>>517
3項演算子はつかえませんか?
具体例は『3項演算子 gnuplot』で検索してみて下さい。
519(4): 2016/04/20(水)09:25 AAS
>>518
よく考えたらimpulsesの根元が元データの分布を示していることに気が付きました。
必要であればstatで最小値・最大値が分かるのでデータの範囲をbaseの位置に示してもいいでしょうか。
ただ、当初の質問から派生した疑問としてある曲面の上にあるデータと曲面の下にある
データで色分けするにはどうすればいいのでしょうか?
2次元グラフで3項演算子を活用する方法は分かったのですが、3次元の場合の
方法は見つけられていません。
ばらついて分布する元データからdgrid3dで格子の曲面を生成し、
元データがその曲面の上下どちらにあるかを分かりやすく示したい
といった利用方法を想定しています。
520(1): 2016/04/20(水)12:13 AAS
>>667
このあたりのことは、gnuplot Q&A 掲示板でよく登場される竹のさんが深い造形わをお持ちです。
こちらで回答がつかない場合は、gnuplot Q&A 掲示板で質問されたほうが
いいと思います。
521(1): 2016/04/20(水)13:51 AAS
>>515 >>516 >>517 >>519
もっと具体的にモデルデータをつけでもらえませんか。ver. 5ならデータブロックでスクリプト内にデータがかけるので。
また、
set dgrid3d
splot "scatter.dat" using 1:2:3 with lines, \
"scatter.dat" using 1:2:3 with impulses
set tableで外部ファイルに吐き出させたデータ(長ければ、その一部)も書いてもらえませんか?
具体的なことがわからないとどこで質問しても答えはつかないと思います。
522(1): 2016/04/20(水)14:18 AAS
>>521
2つの変量が結果に作用する傾向を確認したいといったケースを想定しています。
データにはあまり依存しないと思いますので、
例えば以下のデータをプロットする場合はいかがでしょうか。
# 要因A 要因B 結果
30 50 20
60 80 90
50 70 80
30 60 60
55 60 55
40 70 60
30 80 20
80 80 40
40 50 95
523: 2016/04/20(水)14:23 AAS
>>520
面白いスクリプトを書かれていらっしゃるのを拝見しました。
状況を見てgnuplot Q&A 掲示板の利用も検討してみます。
524(1): 2016/04/20(水)17:19 AAS
>>522
サンプルデータありがとうございます。
まだ、なさりたいことを完全に把握しきれてないので。
>例えば100点満点のテストのグラフを描画したいのでグラフの範囲は[0:100]だけど
実際の最低点は30点で、最高点は90点だった場合、どのように示すのがいいでしょうか?
そのままグラフを示すと曲面が0〜100点を示していると誤解する人が出そうです。
グラフの範囲を[30:90]にするというのも一案だとは思いますが、
グラフの範囲は[0:100]だという前提で、曲面の範囲は30〜90点であることも
>誤解なく示すにはどうするのがいいかアイデアを頂きたいです。
この点は、
set xrange [0:100]
set yrange [0:100]
set zrange [0:100]
ではだめですか?
525: 2016/04/20(水)17:59 AAS
>>524
そのような方法もあると思います。
元のデータが分布している範囲を明示する必要があれば>>519の前半の方法も
あるかと思います。
同じような悩みを持った方がいらっしゃいましたらどうしたか
アイデアを共有して頂きたいと思ってました。
526(1): 2016/04/20(水)19:32 AAS
俺もどういうものを作りたいのかいまいちよくわからんけど、grid3dとpm3dの組み合わせとかでいいんけ?
それとも、
外部リンク[html]:www.phyast.pitt.edu
の一番下のbargraphみたいなの作りたいの?
作りたいグラフっぽい図を示してもらった方が的を射た答が返ってくると思うよ
527: 2016/04/20(水)19:43 AAS
あれ?なんかどちらも違う気がするな
528(1): 2016/04/20(水)19:52 AAS
連投(´・ω・)スマソ
曲面の上と下のデータってどういう意味?
grid3d使ったら、データはすべて曲面上に乗るんじゃないの?
529(1): 2016/04/20(水)19:59 AAS
>>519
>ばらついて分布する元データからdgrid3dで格子の曲面を生成し、
>元データがその曲面の上下どちらにあるかを分かりやすく示したい
といった利用方法を想定しています。
dgrid3dは格子ごとの平面を生成します。
まず、x, y座標からどの格子に属するのを知る必要があります。
これは、原点を考慮した割算とfloor関でできると思います。
また、格子の座標がわかるので格子の平面の方程式がわかり、それがわかれば格子上のz座標がわかります。
与えられたデータのz座標が格子上の
z座標より大きいか小さいかてでプロットをかえる三項演算子の実装をします。
文章でいうとこんなところです。
スクリプトにするには、色々考えないといけませんが、今のgnuplotのスクリプトの強力さを考えると実装できると思います。
530: 2016/04/20(水)20:00 AAS
>>526
>>517は、こんなグラフを作るにはどうすればいいの?って疑問じゃなくて
こういう場合はどういうグラフにするのがいいんだろう?って疑問なので
どんなグラフがいいのか私も分かりません。
>>519のやり方で対応することにします。
もしも、同じような疑問を持たれた方がいらっしゃいましたら経験を
共有して頂ければ十分です。
531(2): 2016/04/20(水)20:05 AAS
>>528
生データとそれを元に生成したgrid3dの曲面の両方を描画します。
生データとgrid3dの曲面はずれますので曲面の上下に位置することになり、
そのずれを見やすく色分け表示したいと思いました。
532: 2016/04/20(水)20:15 AAS
>>529
2次元の場合でも3次元も場合でも三項演算子の使い方は基本的には同じなんですね。
dgrid3dの曲面は式では与えられないので交点のデータから判定するための
条件を自分で記述する必要があるということですか。
方針はイメージできました。ありがとうございます。
533: 2016/04/20(水)20:25 AAS
$dataに格納されたデータにアクセスするコマンドって用意されているんでしたっけ?
配列のようにアクセスできれば理想ですが、そこまでできないにしても
そもそも部分的にデータを取り出すにはどうするんでしょう?
私が知らないだけかも知れませんが。
534(2): 2016/04/20(水)20:31 AAS
$dataに限らずデータファイルでもいいんですが
plot、splot以外から行や列を参照する方法ってあるんですか?
535(1): 2016/04/20(水)20:35 AAS
>>531
次のようなスクリプトを書きました。
# スクリプト
$data_dgrid3d << EOD
# 要因A 要因B 結果
30 50 20
60 80 90
50 70 80
30 60 60
55 60 55
40 70 60
30 80 20
80 80 40
40 50 95
EOD
set dgrid3d
set table 'dgrid3d_table.txt'
splot $data_dgrid3d using 1:2:3
unset table
unset dgrid3d
unset logscale xyz
set xrange [0:100]
set yrange [0:100]
set zrange [0:100]
set xlabel 'x'
set ylabel 'y'
set zlabel 'z'
splot 'dgrid3d_table.txt' using 1:2:3 with lines, \
$data_dgrid3d
536(1): 2016/04/20(水)20:38 AAS
>>531
適当にマウスで回転させてスクショをとったのが下。
画像リンク[png]:www.geocities.co.jp
ようするになさりたいことはこのグリッドの上と下でマーカの種類や色を変える
ということですよね。
537: 2016/04/20(水)20:43 AAS
>>535
あえてtableへのプロットをデータブロックにしないで、ファイルにして先頭のほうだけ書いたのがこれ
# Surface 0 of 1 surfaces
# Curve title: "$data_dgrid3d using 1:2:3"
# IsoCurve 0, 10 points
# x y z type
80 50 58.7832 i
80 53.3333 58.5131 i
80 56.6667 58.2234 i
80 60 57.8866 i
80 63.3333 57.5448 i
80 66.6667 56.982 i
80 70 56.0251 i
80 73.3333 53.6147 i
80 76.6667 49.451 i
80 80 40 i
538(1): 2016/04/20(水)20:51 AAS
>>534
以下参照
外部リンク[html]:www.ss.scphys.kyoto-u.ac.jp
539: 2016/04/20(水)20:52 AAS
>>534
なお,最近の開発版ならarrayがあり配列が使える。
データファイルから配列に格納するやり方は以下を参照。
FILE = 'orbital_elements.dat'
stats FILE index 2 using 2 prefix "A"
array Data[A_records]
stats FILE index 2 using (Data[int($0+1)] = $2) prefix "B"
540: 2016/04/20(水)20:52 AAS
>>536
そういうことです。
541: 2016/04/20(水)21:01 AAS
>>538
statsで1行だけ読み込むとはすごい裏技です!
542(1): 2016/04/20(水)21:44 AAS
> よく考えたらimpulsesの根元が元データの分布を示していることに気が付きました。
そうか。これをつかえば、平面の方程式なんていらないし、
tableで書き出してみてデータ構造みてみて
statsでデータを取り出していくとよいかも。
543: 2016/04/20(水)22:58 AAS
>>542
ちと勘違い。
impulsesはdgrid3dでは格子点に降りるのであった。
>>542 に書いたことは忘れてください。m(__)m。
544(3): 2016/05/05(木)15:04 AAS
>>511
開発版で対応してくれたようです。良かったですね。
テストスクリプトではかなり改善されていると思います。
545: 2016/05/08(日)03:19 AAS
>>544
ほんとですね!
対応してもらえると期待してなかったので感激です。
546(1): 2016/05/08(日)03:29 AAS
>>544
CVSに上げてもらえたのはうれしいんですが、CVSからダウンロードしてビルドは
やったことないです。
Windowsのコンパイル環境はcygwinとかが必要になるんでしょうか?ってレベルです。
やってやれないことはないと思いますが、悩む感じです。
「改善されている」と言うことですが、ざっと動作確認をして頂いたということでしょうか?
もし、そうであればそれで動作確認ができたと報告してしまおうかと。
547: 2016/05/08(日)03:45 AAS
>>544
It may need to be larger, however. とコメントがありましたが
軸とラベルの間の隙間は狭い(元のまま)のでしょうか?
この辺りは好みもあると思いますので、xlabelとylabelとzlabelでバランスが
おかしくなければといったとこですが、どうなんでしょう?
548(1): 2016/05/08(日)11:03 AAS
CVSのバイナリが公式ページに上がっているのを見つけました。
わざわざビルドして頂いたのでしょうか?
テスト中です。
549: 2016/05/08(日)11:31 AAS
解決されているのを確認できました。
ただ、角度によっては目盛のラベルが軸に寄り過ぎている場合があるので
余裕があったらそこまでやってもらえるとうれしいといった感じで
コメントしておきます。
ありがとうございます。
550(2): 2016/05/08(日)12:14 AAS
>>548
外部リンク:www.tatsuromatsuoka.com
のことですか。
これは有志(私ですが)が定期的にwindowsバイナリをビルドして配布しているところです。
その他にもう一つ同じようなサイトがあります。
551: 2016/05/08(日)12:15 AAS
>>550
552(1): 2016/05/08(日)12:16 AAS
外部リンク[html]:www.gnuplot.info
のCVS versionを利用しました。
553: 2016/05/08(日)12:16 AAS
>>550
同じようなサイトのURLをコピペする前に送ってしまいました。m(__)m
外部リンク:ctan.ijs.si
554: 2016/05/08(日)12:18 AAS
と思ったらリンクされてるだけでした。
開発の中心メンバーとして活躍されてるんですね。
555: 2016/05/08(日)12:18 AAS
>>552
外部リンク[html]:www.gnuplot.info の
Downloads offered by others
556: 2016/05/08(日)12:19 AAS
Jane Styleに慣れてないのでミスしてばっかりm(__)m。
557: 2016/05/08(日)12:23 AAS
開発の中心にはいませんが,サポートメンバーの一人であることは確かです。
公式リリースの64ビット版のwindows版バイナリは私がビルドしたものです。
gnuplotは日本人がかなり活躍しているオープンソース系のプロジェクトの
一つです。’(ほかにもありますが)
558: 2016/05/08(日)12:30 AAS
私のパソコンで動いてるgnuplotをビルドして頂いていたとは存じ上げませんでした。
いつもありがとうございます。
559: 2016/05/11(水)05:30 AAS
>>546
遅レスですが,
>Windowsのコンパイル環境はcygwinとかが必要になるんでしょうか?
windows 上でビルドするには,
1.msys2上で,通常のwindows版をビルドする方法と
2.cygwinでcygwin版をビルドする方法
3.Microsoft Visual Cでwindows版をビルドする方法
があります。
3.は私がわからないので略。
以前は,2.のほうが楽だったのですが,msys2が登場し,充実してきたので,
今では,1と2では難易度はほとんど変わりません。
msys2上でのgnuplotのビルドは >>465 をご覧ください。
560(3): 2016/05/13(金)20:21 AAS
zshみたいな感じで補完とか履歴にまつわる挙動カスタマイズできたりしないの?
561(1): 2016/05/13(金)21:02 AAS
>>560
ビルドインのreadlineを使うか、GNU readlineを使うかで違ってくると思う。
私は窓使いなのでビルトインのreadlineしか使えない。
昔に比べるとビルトインのreadlineの性能は良くなった。良くしたいならば自分でコミットするしかない。
GNU readlineはわからないが履歴の操作はある程度できるんじゃないかな。
その辺はGNU readlineを学ぶしかないと思う。
562: 2016/05/16(月)19:37 AAS
times.datは以下の形式で
2015/12/29 1
2015/12/29 2
2015/12/29 3
...
times.gpは
set xdata time
set timefmt "%Y/%m/%d"
set format x "%Y/%m/%d"
set xtics rotate by -45
set xrange ["2015/12/29":"2016/05/15"]
plot "times.dat" using 1:2 notitle with linespoints pointtype 7
persist
これで gnuplot times.gpで描写されない
何が間違っているのだろうか?
563: 2016/05/16(月)20:34 AAS
描画されたけど
564(1): 2016/05/16(月)21:08 AAS
>>653
検証ありがとう
gnuplot-x11 をインストールしたら動いた
昔はgnuplot で行けたような気がしたが
type set to unknown
になるので -x11の方installで解決
565(1): 2016/05/17(火)11:16 AAS
>>564
x11 ターミナルは、昔からgnuplot-x11 がないと原理的に動かない。今は、wxtとかqtとかが主流だからx11はオプションインストールになったのかな。
566: 2016/05/18(水)21:20 AAS
>>560 >>561
ビルトインのreadline.c をちょっと読んでみた。
外部リンク[c]:gnuplot.cvs.sourceforge.net
補完もヒストリもあるけど、ソース中のコメントにもあるようにGNU readlineのサブセットのようだ。
自分の使っているreadlineがどちらかを調べることから始めたらいかがですか。また、Unix上ならgnuplotのビルドさほど難しくないし、確かGNU のライブラリとdevをいれていれば、GNU readlineがconfigureで優先されるはず。
567(2): 2016/05/19(木)03:26 AAS
>>565
debian系は昔からGUI抜きで動くのがgnuplotってパッケージ
画像ファイルの出力に使う
x11なしの実行形式を出来るだけ作るのがdebian系の流儀で昔から変わらない
568: 2016/05/19(木)04:21 AAS
>>567
こういうのサラッと言えるの格好良い
569(1): 2016/05/19(木)14:38 AAS
>>567
ubuntu 14.04
では、gnuplotでsynapticでインストールするとwxtがデフォルトのgnuplot-4.6.4がインストールされ、ついでにgnuplot-x11インストールされました。
interactive terminalなしのgnuplotは、gnuplot-noxでした。
Debianとubuntuでは違うのかな?
570: 2016/05/19(木)14:40 AAS
>>569
まあ、ubuntu 14.04のgnuplotは、古すぎるので自分でビルドしたものを使ってますが。
571: 2016/05/19(木)19:12 AAS
>>560
補完やヒストリーを設定するには、GNU readlineをリンクしてビルドするまたはしてあることが必要なようだ。
GNU readlineをリンクしてあればinputrcにカスタマイズを書くことができると思う。
私は、窓上ではxyzzy 上で動くwgnuplot-modeを
linux上ならならemacsのgnuplot-modeを使っているので
readlineのお世話になることがほとんどない。
572(2): 2016/05/20(金)23:16 AAS
描画エリアの大きさを固定したい
573(1): 2016/05/21(土)06:02 AAS
>>572
質問が曖昧なのでなんとも言い難いですが。
これは、例えばプロットの四角形の領域を軸ラベルの設定などに影響されないようにしたいということですかね。
私もやりたいのですが、いまはターミナルのサイズを調整してやっている。
それなら私も教えて欲しいです。
574: 2016/05/25(水)22:12 AAS
>>572 >>573
gnuplot Q&A 掲示板 3182
を見てください。
set size ratio
と
set margin
を上手く使って下さい。
それぞれのhelpやマニュアルをご覧下さい。
575: 2016/07/14(木)12:50 AAS
100x + 200y = 5000が表す平面を描画するにはどうすればいいのでしょうか?
zの関数としては記述できなさそうなので、どうすればいいか分からないです。
576: 2016/07/14(木)19:24 AAS
見つけました。媒介変数を使えばできるみたいです。
577(1): 2016/07/14(木)20:47 AAS
100x + 200y = 5000
は直線の方程式では?
578: 2016/07/14(木)21:09 AAS
X=100は点か?線か?面か?
3次元の話ししてんだからその式も面だろ
579(1): 2016/07/14(木)21:25 AAS
>>577
数学的に面です。
580: 2016/07/14(木)21:26 AAS
空間座標では面というのが正しかったです。
581: 2016/07/15(金)20:14 AAS
>>579
確かに面ですね。すいません。m(__)m。
また、媒介変数を使わないとgnuplotでは描けない面です。
582: 2016/07/15(金)20:16 AAS
5.0.4 Release Candidateがアップロードされました。
windowsのテストバイナリもアップされています。
外部リンク:sourceforge.net
583: 2016/07/22(金)09:48 AAS
gnuplot 5.0.4がリリースされました。
外部リンク:sourceforge.net
584(1): 2016/09/22(木)13:04 AAS
一列分の数値列をプロットするときに、一行目の数値で全数値を割ったものをプロットすることは可能?
ほんとは最大値で割りたいが、この場合はとりあえず一行目の数値が最大値であるとする
585(2): 2016/09/22(木)18:41 AAS
>>584
version 5を使えば可能です。
外部リンク[html]:www.ss.scphys.kyoto-u.ac.jp
のstatsの応用をみてください。
最大値でのノーマライズも可能で私はよく使ってます。
586(1): 2016/09/22(木)18:48 AAS
>>585
すみませんm(__)m。
バージョン 5からの機能と勘違い。
4でもあるバージョンから使えるよう。
お使いのgnuplotで
help stats
で確認してください。
587: 2016/09/22(木)20:33 AAS
>>585-586
こりゃ便利だな
ありがとう
昨日は結局自作関数を作ったが、今後はこちらを使おうと思う
複数のファイルに対応する場合は順番に読み込んで覚えるしかないのかもしれんが
588: 2016/10/17(月)17:57 AAS
2番めのプロット色が,デフォルトでdark-greenとなる方法を教えてください.
あの見難い黄緑色が許せません
589: 2016/10/26(水)13:26 AAS
.gnuplotに書きなさい
590: 2016/11/17(木)17:41 AAS
使用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(1): 2016/11/17(木)17:41 AAS
使用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ファイルはそのまま使いたいため、何か良い方法はありませんでしょうか?
592: 2016/11/28(月)22:39 AAS
>>591
wxtの画像をスクリプトでpngには落とす方法はないと思います。
pngターミナルよりpngcairoターミナルの方が、wxtに近い画像が得られます。同じではありませんが、より近くなります。描画エンジンに共通のものを使っているので。
私はpngをバッチで生成するときはpngcairoターミナルを使っています。
593(2): 2016/12/01(木)21:00 AAS
数値データをファイルから読み取って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コマンドを打つ段階ではファイルの中身はわからないという前提で。
594: 2016/12/02(金)09:00 AAS
>>593
linespoints は?
595: 593 2016/12/02(金)19:49 AAS
説明足りなくてすみません。
前者のデータでは線だけ,後者のデータならポイントだけ,
というふうにしたいんです。
with linespoints にすると,後者はポイントだけになりますが
前者はポイントが線で結ばれる形になりますよね。
596: 2016/12/15(木)09:00 AAS
pointtypeのデフォルトってlinestyleとして定義するしか設定する方法ない?
597: 2017/01/04(水)16:39 AAS
遅ればせながらgnuplot 5.0.5 windowsバイナリ(テスト用)
をアップロードしました。
外部リンク:sourceforge.net
試してみてください。
なにかありましたら,連絡ください。
598: 2017/01/19(木)17:03 AAS
gnuplot 5.0.5 windowsバイナリを
正式な置き場に移しました。
外部リンク:sourceforge.net
599: 2017/02/16(木)13:01 AAS
>>354
ずいぶん昔の話ですが、cvsで修正が入ったようです。
外部リンク:sourceforge.net
600(1): 2017/02/28(火)19:28 AAS
5.0.6 pre-release のテスト用のwindowsバイナリが出たようです。
外部リンク[html]:gnuplot.10905.n7.nabble.com
601: 2017/03/01(水)06:23 AAS
>>600
ソースもアップロードされました。
602: 2017/03/23(木)13:29 AAS
5.0.6がリリースされました。windows バイナリもアップしました。
603: 2017/03/23(木)19:10 AAS
最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で出力すると
ひしゃげた?というか明らかに四角形ではない結果が出るのですが
何かこちら側の方法等に問題があるのでしょうか
604(1): 2017/03/24(金)02:56 AAS
ただのアスペクト比じゃねーの?
605: 2017/03/24(金)04:51 AAS
>>604
アスペクト比による問題では無いと思います。
なんでしたら上記データを出力して頂ければ幸いです。
ただしく描写されれば、四角形3つでLのような形をしていると思います。
因みに、違う描写ソフト(paraview)にて出力した所、問題無くメッシュが生成されました。
606: 2017/03/24(金)22:31 AAS
あれ?アスペクト比と思ったけど、そもそもこのデータじゃ閉じないし、そのコマンドだと一筆書きじゃないか?
5.0.6ならそういう描き方できんの?
607: 2017/03/25(土)05:49 AAS
自分が調べた限り、どの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束目を追加すると何故かおかしくなってしまい、その理由を知りたく質問させて頂きました。
608: 2017/03/25(土)08:04 AAS
四角形になる方が意図しない動作だったりして
609: 2017/03/25(土)17:42 AAS
なるほど
この書き方は本来四角形を作る為のものでは無いので
出力した際に意図しない形になってしまう事もある。
ということなら納得です。
座標郡をファイルに書き込み、gnuplotに四角形郡として読み込ませて出力、
という使い方をしたかったのですが、一番簡単だったのが上記の書き方だったので…。
ただ、今まで何回も全く同じ書き方をした座標データで四角形メッシュが問題なく
表示出来ていたので
何故突然今回だけダメになったのか、という疑問もありましてちょっとモヤっとしますね
610: 2017/03/25(土)18:34 AAS
最初の行を最後にも書いて全部で5行にすればいいのでは
611: 2017/05/07(日)10:23 AAS
かそってますね
612: 2017/05/16(火)17:31 AAS
gnuplot 5.2への動きがはじまったようです。
外部リンク[html]:gnuplot.10905.n7.nabble.com
613: 2017/05/23(火)06:41 AAS
New stable CVS branch for preparing first version 5.2 release candidate
外部リンク[html]:gnuplot.10905.n7.nabble.com
いよいよ
5.2rcが近づいてきました。
614(1): 2017/05/31(水)23:11 AAS
物理実験で測定したデータを
近似直線と一緒に両対数グラ
フで表示したいのですがcolo
r axis has cb coord of 0; mu
st be above 0 for log scale
と表示され近似直線を表示
することができません。範囲
を絞っても駄目でした。どう
すればいいでしょうか。ちな
みに両対数グラフでない場合
には表示できました。
615: 2017/05/31(水)23:53 AAS
>>614
どこを縦読み・・・?
616: 2017/06/01(木)01:33 AAS
近似式なんだから、データによっちゃ定義域内で負になっちゃうケースも出てくるだろう
関数値がゼロ以下の時は十分小さな正数に置き換えるように関数の場合分けをすればいい
617: 2017/06/01(木)06:26 AAS
値域を絞っても駄目でした
618: 2017/06/01(木)08:52 AAS
絞っただけで分かるわけない
再現コードで示せ
619: 2017/06/01(木)10:39 AAS
f(x) > 0 ? f(x) : 1/0
620: 2017/06/01(木)12:00 AAS
gnuplotで再帰使えたか自信ないけど、無限再帰になってない?
f(x)=hoge
g(x)=(f(x)>0) ? f(x) : 1E-8
試してないけど
621(2): 2017/06/01(木)23:14 AAS
打ったコードはこんな感じです
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 AAS
無限再起ってのはよくわかりません
623: 2017/06/02(金)23:19 AAS
replotは前回のplotした関数を呼び出すから、一つ目しか描かれんのが当然
言い方が正しいかはわからんが、global に定義してないから、最後の関数はあらゆるxに対して定義されてるのでエラーが出る
もう数年Gnuplot 使ってないから、仕様が変わってたらスマンコ
624: 2017/06/02(金)23:20 AAS
global に定義されてない→global にxの範囲が定義されてない
625: 2017/06/03(土)03:32 AAS
gnuplo-5.2 rc1がリリースされました。
外部リンク:sourceforge.net
先ほどwindows バイナリもアップロードしました。
626: 2017/06/03(土)11:29 AAS
>>621
replotのところ、こんな感じか、
plot [1:10000][1:10000] "k.dat" using 1:2 title "較正直線"
, 10**(f(log10(x))) lt -1
627: 2017/06/03(土)12:32 AAS
>>621
k.dat
のサンプルデータを晒してくれ、こっちで動かしてみる。
628: 2017/07/04(火)23:00 AAS
gnuplo-5.2 rc2がリリースされました。
外部リンク:sourceforge.net
先ほどwindows バイナリもアップロードしました。
5.2.0に向けて順調に進んでいると思います。
629: 2017/07/12(水)21:09 AAS
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.
上下前次1-新書関写板覧索設栞歴
あと 326 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.045s