◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:gnuplot を使おう。 その3YouTube動画>1本 ->画像>9枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/unix/1314242150/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
ここも忘れてはいけないと思いますが。
http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gnuplot.html
>>2 gnuplot tips
wwwnucl.ph.tsukuba.ac.jp/~inakura/gnuplot/gnuplot.html
はリンク切れ。
>>10 いや、それは即死じゃない
980越えて24時間レスがなかったら落ちるのは全板共通
即死ってのは立ったばかりのスレが引っかかるやつ
>>11 ありがと
じゃもう大丈夫か
Release plans: Version 4.4.4 and beyond
もうすぐ,4.4.4がでるようです。
4.4の次は4.6でなくて,Version 5になるのかな。
http://sourceforge.net/mailarchive/message.php?msg_id=28074411 前スレの972で
>wgnuplotで起動して最初にplotするときだけ時間が異常にかかります
ですがgnuplot\binary\etc\fontsにあるfonts.confを編集すればTEMPで指定してあるところ以外にも自由におけるようです
http://swordfish.s53.xrea.com/2009/11/18/p848/ gimpですが同様の方法で変更できました
>>14 <cachedir>WINDOWSTEMPDIR_FONTCONFIG_CACHE</cachedir>
<cachedir>~/.fontconfig</cachedir>
のことですか?
Fortranのバイナリ形式で出力したデータをgnuplotでプロットしたいのですが、 どう書けば良いかわからないので教えてください。 以下のように出力したデータ (円柱座標系、R方向,Z方向に0.02mごと、theta方向に1度ことに出力)を、 k=0で指定されるR-Z断面について、Bz成分の強度のグラフをpm3dで描きたいです。 write(10) intA, intB, intC, intD ! 4byte+単精度整数×4+4byte=24byte write(10) realA, realB, realC, realD ! 4byte+倍度浮動小数点×4+4byte=40byte do k = 0,359 ! ← 円柱座標系のtheta方向 write(10) ((Bx(i,j,k), By(i,j,k), Bz(i,j,k), i=0,100), j=0,100) end do これをプロットしようと、以下の様に途中まで書きましたが、 formatやusingをどのように書けば良いのか教えてください。 splot 'fort.10' binary \ skip=64 \ format="%*int%???%*int" \ endian=big \ array=(101,101) \ scan=xy \ dx=0.02 \ dy=0.02 \ using ? with pm3d title'B_{x}' gnuplotのバージョンは4.4、Fortranのコンパイラはifortを使っています。
windowsのgnuplotのwxtでdashを使いたいんだけど無理なのかな? アンチエイリアス機能が便利でそのままコピペして使いたい 他の方法でdash扱ってると面倒すぎる
>>20 set term wxt dashed
test
>>21 まさにすべて解決した気分。この先どうなるかわからないけど
非常に有難い
データのうち、一部分だけ別のpoint typeでプロットしたいのですができますか? 全ての点をlineでつなぎぐので別々にプロットするのはなしでお願いします。
Windows7でgnuplot4.4.4を使っているのですが、EPSを作成する際にラベルに日本語を使用した場合、
数字などの半角文字の文字間隔が広くなってしまい、見栄えが悪く困っています。
例えば
http://www.obihiro.ac.jp/ ~suzukim/masuda/utils/gnuplot.html
ここに解説されている「日本語を含むEPSファイルの保存」のとおりにEPSを作った場合、
http://www.obihiro.ac.jp/ ~suzukim/masuda/utils/gnuplot_lc_eps.png
のような出力が欲しいのですが、私の環境では
のように出力されてしまうわけです。
どなたか解決方法を教えていただけないでしょうか。
手元にgnuplot-4.4.4がないので,cvs版(4.5)でやってみました。 フォントを"GothicBBB-Medium-83pv-RKSJ-H" で指定して shift-jisでやったところお望みに近いグラフができました。 ちなみにWindows XPです。
"GothicBBB-Medium-UniJIS-UTF8-H"でUTF-8で保存でもうまくいきました。 ghostscriptのバージョンは9.00です。
gnuplot-4.4.4をダウンロードしてやってみました。 私の環境ではEUCでは,postscriptファイルが壊れて見れませんでした。 "GothicBBB-Medium-83pv-RKSJ-H" shift-jis "GothicBBB-Medium-UniJIS-UTF8-H" UTF-8 でうまくいきました。ghostscriptのバージョンなどにもよるかもしれませんね。
>>26-28 今まではGhostscript9.02を使っていたのですが、9.00を使ったところ問題なく出力されました。
ありがとうございました。
>>25-29 http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gpinfo-2011.html#info-20111120
に詳しい解説がなされています。
こんなサイトがあるようです。
なかなか凝ったプロットがかけるようです
http://www.phyast.pitt.edu/ ~zov1/gnuplot/html/intro.html
Windowsで特定のアプリケーションのCPU使用率と測定開始時間から終了時間までを測定しGnuplotを使いグラフにしたいのですがCPU使用率を計るにはどうしたらよろしいでしょうか?
gnuplot関係なさ杉ワラタwパフォーマンスカウンターでできるよ
gnuplot -p scriptfile.gp なんて感じで、スクリプトファイルを読み込ませて起動したとします。 この時、scriptfileg.gp の中で gnuplot が読み込んだスクリプトファイルの名前を取得する事ってできるでしょうか?
俺は label とかに TeX 使いまくてたから、今だに plus 使ってるよ。。。 どうしたら良いのか。。。
>>36 epslatexとかどう?
gnuplot走らせるところから、出力されたTeXファイルにヘッダ加えてコンパイル、目的の形式に変換
までスクリプトで自動化すればそう面倒ではないけど
いや、4系の高機能に惹かれるのだが、これまでの資産のせいで乗り移れないってこと。 両方入れれば良いのだが、FreeBSDのポーツだと排他的だし。。。
グラフをプロットして出力するとデフォルトだと横長の画像が出力されるけど これを4:3の大きさに指定したり、グラフの枠を指定して(できればピクセル単位で)出力ってできる? x軸y軸で4:3を比率調整で作っても、それがx軸y1軸y2軸になるとy2軸側の文字が入って 画像としては4:3だけどグラフが4:3じゃなくなってしまう
>>40 set term wxt size 600,800
とか。
詳しくは使用する terminal のヘルプを見てくれ。
gnuplot 4.6-rc1がでました。
Windows,Cygwin,DJGPPのバイナリも配布されていま。
Windows 版は,今回からインストーラー形式になっています。
また,日本語環境でインストールはデフォールトは日本語環境となります。
初心者には,インストールがずいぶん簡単になるようです。
http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.rc1/ 理論上+∞に発散して閾値を超えると-∞から始まる曲線を描写しようと考えてるんだけど 実際のデータは無限大に行くわけでもなく、普段0.001程度の値が1まで行って-1まで 一気に落ちるって感じになってる。 こういうデータを無限に発散しているように見せるテクってある? +∞から-∞の点を繋ぐ線を消したい
(abs(1/x)<c)?(1/x):(0/0) 定数cとsampleの値を適当に調節する
>>45 無限に発散する点と普通に0を通過していく点があるから
2本に分けるにも結構難しかった
もっと効率よくできないものか
>>46 計算ソフトで出力されたデータをgnuplotに読み込ませて描写しているから
関数表現だと無理だと思う
それをプロットに応用できればいいのだが…
計算能力の問題で>普段0.001程度の値が1まで行って-1まで一気に落ちる
という結果になってる。
あくまで例で綺麗に1から-1まで一瞬に移動してくれるわけでもなく
理論上無限だけど、その点は効果が薄いために
他の発散は1から-1まで下がるのに対して0.05から-0.05に下がる点があったり
発散の度合いにも差があって、発散が弱いと普通に0を通っているのか発散しているのか見分けが難しい
>>47 >計算ソフトで出力されたデータをgnuplotに読み込ませて描写しているから
> 関数表現だと無理だと思う
Help ternaryをみると次のようなものがあるから,三項演算子とusingで
可能だと思います。
plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )
sin 関数のグラフで x 軸のメモリにπを入れる方法ってない?
>>49 gnuplot のturial.pdf のFigure 5 にlatex terminal での例がある。
set terminal latex
set output "eg4.tex"
set format y "$%g$"
set format x "$%.2f$"
set title 'This is $\sin(x)$'
set xlabel "This is the $x$ axis"
set ylabel "$\\sin(x)$"
unset key
set xtics ('$-\pi$' -pi,\
'$-\frac{\pi}{2}$' -pi/2,\
"0" 0,\
'$\frac{\pi}{2}$' pi/2,\
'$\pi$' pi)
plot [-pi:pi] [-1:1] sin(x)
Latex terminalが使えないならpostscript enhanced でやることが考えられる。
>>50 turial.pdf ==> tutorial.pdf
>>50 ありがとう!
よく,emf ファイルで出力するからこの方法で大丈夫か
心配だったけど emf も enhance 付ければ出力できるね!
>>50 >>52 emfで enhancedでやってみた。
set terminal emf enhanced
set output "sinpi.emf"
set title 'This is sin(x)'
set xlabel "This is the x axis"
set ylabel "sin(x)"
unset key
set xtics ('-{/Symbol p}' -pi, \
'-{/Symbol p} / 2' -pi/2, \
'0' 0 , \
'{/Symbol p} / 2' pi/2, \
'{/Symbol p}' pi)
plot [-pi:pi] [-1:1] sin(x)
"Skipping data file with no valid points"のエラーってなんなんですか? どんなコードもこれが出てきてしまってグラフィックができないです。
英語で書かれているとおりだよ。 無効なデータをスキップしましたってこと。 データのフォーマットがおかしいんじゃないの?
>>54 実行できないコードの一つでもさらせば,解答がつくかも
x データが 48〜120,218〜289 という具合に データの塊が2つにわかれているんだけど, これを省略線(波線2つ)を入れて省略するみたいに 表現できないかな?
>>57 データではないけどそういう例はある
http://www.phyast.pitt.edu/ ~zov1/gnuplot/html/broken.html
>>58 ありがとう!
簡単にできるわけじゃないのねw.
とりあえず,じっくり読み考えながらやってみるわ.
gnuplot version 4.6 released!
↑ あららら・・・ インストール 変わっちゃったね?
>>62 うああ,かぶったm(__)m。
>>61 Windows版ですね。インストーラーがついてますよね。
でも,従来型のzipもあります。
set yrange [0:2e+9] set format y "%s%c" としたとき、Y目盛りが 期待: 500M, 1G, 1.5G, 2G 実際: 500.000000M, 1.000000G, 1.500000G, 2.000000G となります。 ソースを見ると、gprintfの%sでは、stdioのprintfの%fが使われているっぽい。 %gなら余計な0は表示されないのに、%fが使われている積極的な理由ってあるのかな? とりあえずソースいじれば何とかなりそうだけど、 自分だけで使ってるわけじゃないので、それはやりたくないんだよな。
4.4以降でterminal windowsとかでemfを吐くと それをパワポ上でグループ解除すると枠線らしきものが かなりのでかさで現れて酷いことになる wxtだと確かに綺麗だけど ビットマップ扱いで拡大するとボヤけたりepsに変換すると汚くなる ボヤけないようにemfで保存すると枠線が・・・となる term windowsだと破線の太さをgnuplot上で太くできないから 仕方なくwxt使ってるんだけど wxtで出力された見た目のままベクター形式で出力できないのだろうか
> wxtで出力された見た目のままベクター形式で出力できないのだろうか pdfcairo powerpointで読み込む方法があるのか知らんけど
>>67 ylabel ではなく,label をグラフの外の座標に
設定すれば良いんじゃないだろうか?
gnuplot> set pm3d map gnuplot> splot [:2*pi][:2*pi] sin(x)*cos(y) ってやるとy軸の範囲が0~7になって上に空白が入っちゃうのってどうやって直したらいい?
ver4.6でグラフをemfにしてファイル出力してるんだけど powerpoint上でグループ解除するとグラフには関係ない謎の透明で巨大な枠が 出現して、作業効率が下がるんだけどこれを解決できないだろうか ver4.2ではこんなことはなかったんだが 仕様でも変わった・・・?
↓みたいなfor文において plot for [2:3] "hoge.dat" using 1:i ここでusingにabsなどの処理をしたいときはどうやればいいですか? using 1:abs(i) としたら案の定駄目でした
gnuplot> q=1.60e-19 gnuplot> print q**16 1.84467440737095e-301 gnuplot> print q**20 0.0 上記のように、q=1.60e-19の累乗が大きい値になると、計算結果が0.0になってしまいます。 どうすれば、正確な値がでてきますか? (次に続く)
そっか、マイナスついていたか。 確かにアンダーフローだな。
gnuplotの問題ってわけじゃないね。 何事にも限りがあるってことだ doubleが64ビットより多い処理系でビルドすればましにはなるかな。 いずれにしろ限りはあるが
set xtics (pi)にした時、横軸に3.14,6.28,…じゃなくて π,2π,…ってするにはどうしたらいいの?
set xtics (\ "-2{/Symbol p}" -2*pi, \ "-3{/Symbol p} / 2" -3*pi/2, \ "-{/Symbol p}" -pi, \ "-{/Symbol p} / 2" -pi/2, \ "0" 0, \ "{/Symbol p} / 2" pi/2, \ "{/Symbol p}" pi, \ "3{/Symbol p} / 2" 3*pi/2, \ "2{/Symbol p}" 2*pi \ )
>>73 http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gpinfo-2012.html#info-20120603
によると,
plot for [i=2:3] 'hoge.dat' using 1:(abs($i))
すべきのようです。
1つのグラフに対して上と下のx軸で別の単位を使うことはできますか? 可視光線の透過スペクトルで下に波長(nm),上に波数(/cm)を表示したいです. 下軸の波長を100程度の等間隔にして,上に波数(=10^7/波長)の目盛りを付けられませんか
set x2label set x2tics nomirror plot hoge axes x2y1
>>81 4.6 patchlevel 0で試したところ (abs($i)) は駄目ですが、 (abs(column(i))) でいけました。
ありがとうございました。
負の数をログスケールにしたいんですが... set logscale y set ytics format "-%g" plot 'hoge' using 1:(-$2) こんな感じでいけますが,x11などの場合で, いったん普通にプロットしたあと,キー入力でノーマルスケールと ログスケールを切り替えたいです。 bind で何とかならないかとも思ったのですが, plot文を変える必要があるため,特定の用途ならともかく, 汎用的にはやるのはなかなか難しそうです。 理想は set logscale y -10 とかやると,負数のログスケールになってくれたりするとありがたいんですが... ちなみにソースを見るとfabsを取っているようで,-10でも10でも同じ結果になります。
>>86 です。
その後ぱったりとレスが途絶えました。
僕は地雷を踏んでしまったのでしょうか??
地雷ではなく,単に高度なことを要求して, 誰も答えられないだけだと思われる.
>>86 ソースいじれ。
もしくは、開発チームに参加しろ。
>>86 http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gpinfo-2012.html#info-20120823 負の数に対数軸を適用したい、ということと、 キー入力でグラフの線形軸と対数軸を切り替えたい (x11)、 という 2 つの質問 (多分) がありました (86)。
>>86 です。
竹野先生ありがとうございます。
ちょっと言葉足らずでしたが,やりたいことは,x11ウィンドウで
負数のデータをリニアスケールでプロットした後,キー入力で
(符号を変えた)ログスケールとリニアスケールを交互に切り替えたい,
というものでした。
正数のデータであればlキーやLキーで切り替えられますが,
Yデータが全部負数の場合はエラーになったりします。
一部が負数の場合は正数部分のみが表示されます。
ちなみに,負数のデータというのは,たとえばあるデバイスを流れる
電流のようなものです。電流方向の定義というか電流計を接続する
向きによって同じものが正になったり負になったりします。
しかもバイポーラトランジスタのGummel plotのようにログスケールで
あらわしたいこともよくあります。
gnuplotソース改変も試みましたが,自分のスキルではちょっと無理そうです。
他には,リニアスケールとログスケールを別ウィンドウでプロットし,
gnuplot自身でなく別のツールで切り替えるというようなこともアイデアと
しては考えています。
昔、aplacというspiceのパチもんみたいな回路シミュレータでやったな。 spiceでもグラフの切替はできるが、インタラクティブには出来なかった記憶が。 そもそもF77だったし。
file='file1.txt' plot file u 1:2 log=0 bind 'ctrl-l' '\ if (log==1) \ unset logscale y; \ plot file u1:2; \ log=0; \ else \ set logscale y ; \ plot file u 1:(abs($2)); \ log=1'
>>86 です。
>>95 さん
いい感じです。変数を使ってbindにplot分を割り当てるのは盲点でした。
自分の目的としてはこれで何とかいけそうです。
ありがとうございました。
4.6 をインストールしたのだが、上手く動かない。多分4.6固有の問題じゃない気がする。 環境は、Windows7 home 64bit 今までは、4.0 を使っていて、.pltファイルをwgnuplot.exeに関係づけて、、それは正常に動いていた。 4.6は、ディフォルトで .plt に関係付けられているので今までどうりのファイルでいいのだろうと思い、試して見た。
取りあえず weight06_test.plt として以下のようなファイルを作った。 #cd "D:/USER/TOMURA/Data/体重/" set term postscript set title "Body Weight Change (2012/09/01-2013/08/31)" set xlabel "Date [month/day]" set xdata time set timefmt "%Y/%m/%d" set format x "%m/%d" set ylabel "Weight [kg]" set yrange [70:75] set grid xtics ytics back lw 2 set style line 1 lt 1 lw 1 pt 7 ps 0.5 set output 'weight06_test.ps' plot 'weight06.txt' using 1:2 with linesp notitle ls 1 これをダブルクリックしても weight06_test.ps は、出来上がらない。 4.0 では、出来上がっていたはず。
試しに同じフォルダに作ったバッチファイルに "C:\Program Files (x86)\gnuplot\bin\wgnuplot.exe" と書いて実行して weight06_test.plt の中身をコピペで与えると weight_test.ps が出来上がる。 #cd のコメントを削って生かしてやっても .plt ファイルのダブルクリックでは、正常に動かないが、 普通に wgnuplot を起動して cd からの weight06_test.plt の中身をコピペしてやると正常に動く。 (weight06_test.ps が出来上がる) 仕方ないので今は "C:\Program Files (x86)\gnuplot\bin\wgnuplot.exe" weight06_test.plt と書いたバッチファイルを作ってそれを実行している。
何とか今まで通りに .plt ファイルをダブルクリックしただけで済ませたいのだが、そういう使い方が間違っているのだろうか? 昔、plot してから、 set output あたりをを弄ってやると正常に出力されるようなこと見た覚えがあるのだが、自力で見つけられない。 そういうわけで教えて下さい。(Windows の質問はひょっとするとスレ違いでしょうか?)
gnuplot で bash の alias のように 長ったらしいコマンドを短く定義したいのですが, そういうことは gnuplot でできないでしょうか? 特に出力先を変える時の設定が面倒なので….
>>102 まさにその機能です!
ありがとうございます.
gnuplot で関数やらサブルーチンやらエイリアスで
ググっても思った内容がなかなか出て来なかったもので….
マクロ置換って言うんですね.
助かりました.
>>97 -100
set term post
set output 'testps.ps'
test
でgnuplot 4.7で試したが,ダブルクリックでファイルができたよ。
いまgnuplot使ってデータ点と関数のフィッティングやってるんですけど、フィッティングの際に各データテント関数の値との相対誤差とか出せませんか? 教えていt抱けると非常に助かります
>>106 わかりにくい日本語で済みませんでした。
今(x_n,y_n) n=1〜1000のデータ点を用意して、とある関数(たとえばy=a*x+b)とfitコマンドを使ってgnuplotでフィッティングしています。
その結果、データ点と会うように係数a,bが調整された関数を得ました。
この関数にx_nを代入した値と、おおもとの(x_n,y_n)との間の相対誤差を知りたいのですが、いちいち計算せずにgnuplot上でどうにかできないかという質問です。
x_n:1列目,y_n:2列目のデータが並んでいると仮定して書くけど、 f(x)=a*x+b fit f(x) なんちゃら using 1:2 via a,b ここまではできたということだよね? 「相対誤差を知りたい」って相対誤差をプロットしたいってことかな? 相対誤差の定義もいろいろと有ると思うけど,こんなんでどうでしょう? plot なんちゃら using 1:(($2-f($1))/$2)
set formatについて質問です。 例えば、x軸に80 90 100という値があるとして、 その表示を8.0x10^1 9.0x10^1 10x10^1とすることは出来ますか? 仮数部と指数部があるとしたら、指数部を固定したいということになります。 よくある方法で、set format "%2.1l x 10^{%L}"とすると 8.0x10^1 9.0x10^1 1.0x10^2となってしまいます。
>>110 10x10^1 って指数表記にする意味ってあるの?
もし,関数ではなくデータのプロットで
表示している数値の底上げをしたいのであれば,
軸の脇に "x 10" とか書いて,数値に対して
using ($1/10):$2 とかすればいいのでは?
俺のレベルでアドバイスできるのはそれくらい.
訂正 × using ($1/10):$2 ○ using ($1/10):2
>>111-112 レスありがとうございます。
残念ながらデータのプロットではなく関数です・・・
一応、関数に10の累乗をかけて整数にしておいて、
目盛りやラベルで誤魔化そうとも思ったのですが、
あまりかっこ良くないなぁと。
ファイルに保存された3次元のデータを描画したいと考えています. これを普通に描画すると,すべての点が赤で描画されます. これをzの値で色を変えるにはどうすればよいのでしょうか? カラーマップを使うと,点ではなく面でベタ塗りされてしまうのです. 私がやりたいのは,こb、ではなくて,点の色を変えたいのです. 以上,お願いします.
>>115 ありがとうございます.
これで何とかなりそうです.
手元に10000行1列の各数字が0 ~ 20範囲のデータがあります。 横軸に 0~5 5~10 10~15 15~20の各範囲、縦軸にそれぞれの範囲内にある数の個数の4本の棒グラフを作成したいのですが、gnuplotで可能でしょうか? それとも何らかの方法でカウント数をソートしてから読み込むしかないのでしょうか?
それってひとことで言うとヒストグラムのことか? 直接ヒストグラムを描くのは無理だけど, やりようはあるからあとはググれ。
>>118 そうです、ヒストグラムです。
やりようがわからないのです。方針だけでいいので教えて頂けませんか。
つ Google検索 「gnuplot ヒストグラム」 俺だったら直接描く方法がないと分かった時点でカウントするプログラム書いてるけど
gnuplot って基本グラフ描画ツールなんだよね。 統計とか計算はおまけみたいなもので…。
ぐぐったんですけど、結局良くわからないですね… gnupotは結構隠しコマンド的なのがあるからできるかもなどと聞いたのですが。 とりあえずカウントするプログラム別に作ることにします。 ありがとうございました。
ヒストグラムを生成しようとして以下の様に入力しました。 n=20 #number of intervals max=90. #max value min=-90. #min value width=(max-min)/n hist(x,width)=width*floor(x/width)+width/2.0 set term postscript eps enhanced color set output "histogram.eps" set xrange [min:max] set yrange [0:] set mxtics 6 set boxwidth width*0.9 set style fill solid 0.5 set tics out nomirror plot "dec.dat" u (hist($1,width)):(1.0) smooth freq w histeps この様にhistepsで出力すると綺麗なヒストグラムが得られたのですが、最後の行を plot "dec.dat" u (hist($1,width)):(1.0):(0.5) with yerrorbars とすると高さ1のところにプロットが数個現れるだけで上手くエラーバー付きのプロットができません。 どなたか原因が分かる方いませんでしょうか。
ヒストグラムにエラーバーとは何がしたいかわかんないけど、 うちの環境では普通にエラーバー出るよ。 バージョン古かったりしない?
x軸の名前の位置を調整したいのですがうまく出来ません。例えばx方向に1、y方向に2だけずらしたい時には set xlabel "x-Name" 1.0,2.0 font "Helvetica,20" とすれば良いと聞いたのですがエラーが出てしまいます。 使用しているバージョンはgnuplot4.7です。何か方法があったら教えて下さい。
>125 使っているOSや エラーの内容を書かないのは 何かの策略ですか set xlabel "x-Name" offset 1.0, 2.0 font "..." と offset を書けばいいのでは
>>126 お返事ありがとうございます、お陰でできました!
すみません、うっかりしていて書き忘れてしまいました。
Mac OS XでX11を使っています。
offset と書かく必要があったとは。調べたら
>>125 の表記をしているところが多かったもので…
versionによる違いなのでしょうか。
どちらにしろ無事できたのでよかったです、大変助かりました。
WindowsでXming起動してからputtyでLinuxにsshしてXを飛ばしてるんですが、 gnuplotのX画面をAlt+PrintScreenでキャプチャしてPowerpointへコピペするのが 癖になってしまいました。ベクトル画像じゃなくなるけど、サクッとコピペできるのはすごい楽。 ただ唯一の不満がgnuplotのX画面に枠やタイトルバーが付いている点で、 今でJTrimに毎回削ってます(Powerpoint2010のトリミングは使いづらいので)。 もっと効率良いやりかたないでしょうか。ちょっとスレチかもしれないですが、 自分みたいな使い方してる人って結構いそうな気がするので、お尋ねしました。
>>128 素直に,gnuplotにpngで保存させろ
wxtならcopy to clipboardボタンがあるけど、機能するかどうかはXサーバ次第かな
>>129 それが一手間で面倒で・・・
普段は set term x11 で作業して、よしこれでOKと思ったら
set term png してset output "hoge.png"で保存してWindowsに転送して・・・
作業ディレクトリを Samba ディレクトリにしてしまえばいい
リリースノートのファイル見てたら,インタラクティブなターミナルとしては 前はX11がオススメだったけど,今はwxtとかqtがナイスだよ,って書いてある。 自分はwxtとかqtとか言われてもナニソレなんだけど,X11にくらべて何が良くなるの? ちょっとぐぐったら表示がキレイになることはわかったけど,インタラクティブな辺で いいこと(たとえばレンジの指定がインタラクティブにできるとか)があれば, がんばってインストールしてみようかなと思う。
どんな化石みたいな環境使ってるのか知らないが、たいがい人に聞くより自分で試した方が早いぞ > レンジの指定がインタラクティブにできる マウスホイールを使ってできる でも最近のバージョンなら多分wxt以外でもできると思う
最近の Linux ディストリビューションの gnuplot が 採用しているのは wxt なのでは? その状態で x11 にすると萎える。
環境は仕事で使ってるSoralisの古いやつ。 ライブラリとかも古いままでインストールが大変だからまず聞いてみた。 やる価値あるんなら頑張ってみようかと。
近くにWindowsPCくらいあるだろうから、そこで試してみればいいんじゃね? zip版ならインストールする必要もないし
Solarisとか、いつまで死んだ子の歳を数えてるんだ…
複雑な事しない実験系なら N88BASICとか普通に現役だからなぁ・・・ Solarisみたいな”新しい”環境はまだまだ消えないだろう
区間[0:2*pi]でsin(x), 区間[-2*pi:0]でcos(x), 区間[-2*pi:2*pi]でtan(x)を描画するには, どうすればいいですか? カンマ区切りやreplotでは範囲が指定できないので困っています.
こういうことかな? >plot ( 0<x && x<2*pi ? sin(x) : 1/0) w l,\ > ( -2*pi<x && x<0 ? cos(x) : 1/0) w l,\ > ( -2*pi<x && x<2*pi ? tan(x) : 1/0) w l
>>141 できました.
三項演算子とは盲点でした.
ありがとうございます.
ところで,
1/0はなんですか?
pm3d mapで描画したカラーマップ上に、 境界線をわかりやすくするためにx軸に垂直な直線(例 x=1)を入れたいです 1. noheadのarrowで書こうとしたが、カラーマップの下に入って見えない 2. 以下の通り媒介変数表示を使って書こうとしたが、表示されない set parametric splot 1,u,0 ←3次元上には書けてる set pm3d replot ←同上 set pm3d map replot ←グラフ上に何も表示されない pm3d map上にx=1等の直線を描画するために 何かいい方法はありませんでしょうか、知恵をおかしくださいmm
1. だと、矢印はset arrowで設定なので、plot文より前に書かざるをえない 2. では、順序以前に直線描画がまったくできない んですよね。他にx=constの線を書く方法ってないでしょうか
いろいろ試行錯誤して自己解決しました。 具体的には、 1.set pm3dとset view mapにしとく。 2.カラーマップはwith pm3dで描く。 3.線は外部ファイルに準備した二次元テーブルから引っ張ってきて引く。 という、結局ゴリ押しなんですが。
最近では,オプション front が効くはず. set arrow .... front
いまさら gnuplot+ のパッケージ @ FreeBSD がなくなったと 呻いてる人がいる…
>>131 遅レスで見てないかもだけど、
~/.gnuplotにキーバインドを書いとけばwindow上でkeyを押すだけで保存できる
.gnuplot
---------
# for v4.6 or later
bind s "\
set term postscript eps enhanced color;\
now=system(\"date +'%Y%m%d-%k%M%S'\");\
set output sprintf(\"%s.eps\",now);\
rep; \
unset output;\
set term qt; \
rep"
----------
ここまで。
これで20130312-001221.epsで保存される。
参考までに。
>>153 おお、レスがあるとは!
これはなかなか便利ですね。どうもありがとうございます。
term qtてビルド時にenableしないと使えないのね どう良いのこれ?
最近のgnuplotはterm pngで直接png出力できるのね これでepsで出してconvertコマンドかけるとかやらないで済む
年取ってくると5〜10年くらいは完全に「最近」扱いだよな
下のようなe-100より小さいような値をプロットすると普通に1くらいのでかい値が表示されるんですが、どうすればこれば防げますか? 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.435473392210-201 0.156895824551-183 0.124360891949-166 0.386958606043-150 0.157760811076-133 0.118966023624-117
まさかintelのバク付x87 CPU使ってない? IEEE754コンプラ試験のparanoia.cで試してみそ。 SPARCやMIPS, HP-PAでも成るの?
>>158 新しいことを覚えたくなくなるらしいね
体が拒否るんだろうか
4列のデータからそれぞれ,x座標,y座標,点の大きさ,透過度を読み取って
円をプロットしたいのですが,どうやればよいか教えてください.
やりたいことは,これ↓
"Trace of unconstrained optimization with trust-region method"
http://gnuplot.sourceforge.net/demo_4.6/circles.html にすごく近いのですが,加えて,透過度をデータから読み取ってプロットしたいです.
『solid 0.15』→『solid variable』に変えて
plot 'file' using 1:2:3:4 with circles lc rgb "blue" fs transparent solid variable noborder
としてみましたが,
warning: This plot style does not work with 4 cols. Setting to yerrorbars
と言われてしまいます.
また,"with circles"の場合にはパックマン状の扇形を描くための開始,終了の角度を
指定にするために4,5カラム目が使われるらしいので,
plot 'file' using 1:2:3:(0):(360):4 with circles lc rgb "blue" fs transparent solid variable noborder
と,あえて角度指定した後に透過度として指定したい列番号を書いても,同様の警告が出ます.
transparent solid <density> を変数で渡すことは現状できないみたいだな 色を渡すことはできるから、重なりを考えなければ色でそれっぽく見せることはできそうだが
\ で改行して複数行書くと、履歴にはそれぞれの行ごとに 書かれるのですが、\で改行した場合は一つのコマンドとして 履歴に認識させる方法はないでしょうか?
C言語のプラグラムからパイプしてgnuplotでグラフ書きたいのだけどエラーでる。 No usable data in this plot to auto-scale axis range All points x value undefined 主導でプロットさせると問題ないのだけど、どうしてこうなるのか分からない
出力したデータを公開するか、自分でよく見ることだ。
パイプを通さずにファイルに入れて、それ使ったらどうなる? あるいはそれを手動入力のつもりでコピペ入力したらどうなる?
手動入力だとうまくいきます Cから出力はあきらめてスクリプトでなんとかしようかとおもいます
netCDFのデータって変換せずにプロットできないのですか?
そういうのっていわゆるマスデータなんじゃないの? gnuplotで表示するのがそもそも間違いなんじゃ
おっしゃる通りなんだけど、開発段階とかでぱっとプロットしたい時にgnuplotだと楽じゃん。 gnuplot用のアウトプットルーチンを書けばいいんだけど、コード無駄に長くなるし、そのままプロットできればいいかなと思ってさ
http://blog.hgomez.net/blog/2011/11/03/iozone-and-gnuplot-4-x/ 上のページにあるようなiozoneのグラフを作成したいのですがうまくいきません。
iozone が吐き出したファイルを
http://www.iozone.org/src/current/Generate_Graphs で処理しているなかで呼ばれている gnu3d.demでトラブっていて
最新のソースでコンパイルしなおしたら少しエラーが減ったのですが
http://www.iozone.org/src/current/gnu3d.dem 上のファイルの途中でエラーになってしまいます。
iozone も gnuplot も最新のものを使っています
うまく表示するにはどうしたらいいのでしょうか?
iozone 3.397
gnuplot Version 4.6 patchlevel 3
ファイルを読み込みベクトル場を表示させているのですが、ベクトルの大きさに応じて矢印の色を変化させることは可能でしょうか。
>>152 >いまさら gnuplot+ のパッケージ @ FreeBSD がなくなったと
>呻いてる人がいる…
俺も嘆いている。だって、これまでに作ったファイルが使えなくなるのは痛すぎる。
+ で出来て 4 で出来ないこといっぱいあるじゃん。
gnuplot+なんてあったんだ、知らなかった でも更新されてないっぽいね 4は未対応か・・・
EUC日本語でTeXにグラフ貼付けれるのは、どっちのgnuplot?
eps にすればどっちも可能。普通 eps にするだろ?
日本語入り EPS を gnuplot でって話? だったら、plus かも。と言うか plus なら確実に出来る。実際よくやる。 4 で出来るか知らない。
今、論文をwordで書いてて、あまりにもExcelが吐き出すグラフが汚い(そして面倒)。 で、最終的にgnuplotで出力させてるんだけど、方法ってepsをまず作ってemfをgsview+pstoeditで作ることになるよね? グラフのxlabelやylabelの途中でフォントを変えたい場合って set xlabel font "Times New Roman Bold Italic,20" set xlabel "x {/Times-Roman [mm]}" みたいな感じになると思うんだけど(xだけTimesの太い斜体で[mm]はTimesのノーマルフォントを期待)、 {/Times-Roman [mm]}の部分がepsだと普通にTimesで出力されるのに、emfにするとHelveticaらしきフォントになってしまう。 誰かそういう場合にどうしたらいいか知ってる人います? またはepsをそのままの形で(ラスタライズしないで)、wordのファイルに張り付ける方法ってありますかね?
>>187 求める答えとは違うと思うが、Mac版Word使うとEPSがそのまま綺麗に貼れる。手書きのEPSとかでも可。
内部的にEPSの表示をOS X標準のPreviewと同じ方法を使うからと思われ。
Display PostScriptだったNeXTSTEPの子孫だからね...
Wordで書くんなら、 Excelのグラフを調教する方向の方がよほど楽で綺麗にできると思うんだが。
>>188 今研究室のメインOSがWindowsでマック持ってないから、ちょっと厳しいです・・・
(apple嫌いってのもある)
>>189 Excelのグラフってデータ変わるたびに新しく書かなきゃいけないので面倒だし(Excelが吐くグラフって綺麗?)、
ファイルをすべてCSVで管理したいからちょっと・・・
ホントはLaTeXを使ってもOKっていうふうに教授が言ってくれればいいんだけど、
教授が相当なMicrosoft厨なので、word以外はダメとか何とか・・・。
おまけに論文を出す学会から指定されたテンプレートがdocファイルとかマジ勘弁な状態。
あー、ホントはwordで下書きしてレイアウトはLaTeXってのがすごい捗るのに!しかも綺麗に書けるし・・・orz
最後にあともう一個だけ質問なんですけど、
gnuplotに吐かせたepsのグラフをgsview+pstoeditでemfにしてwordに張り付けた際に、
docファイルを編集中の時は問題ないのにwordからそのままpdfに変換するとemfのグラフに謎の線が追加されるんだけど、
この症状って誰かなってる人います?
ついでにウェブにdocファイルをうpしてメールでpdfを受け取れるサービスにぶち込むと普通に問題なく出てくる・・・
wordのバグ?
すんません、ちょっとスレチ気味ですが、ほかに質問できるところも無いので・・・
>>187 でつ。自己解決しました。
どうやらTimes-Romanがフォント指定としてそのままepsファイルに書かれるけど(GhostScriptからは一応Times-Roman系のフォントとして扱われるらしい)、emfに変換するときにそんなものは無いと判断されるのが原因の模様。
一応解決法を(悩んでる人なんていねーよとか思いながら)。
途中でフォントを変える場合、次のように全部{/TimesNewRoman <文字>}と指定。
set xlabel font "Times New Roman Bold Italic,20"
set xlabel "x {/TimesNewRoman [mm]}"
次にpstoeditをダウンロードして適当にインストール、環境変数も通す。で、windows用のバッチを作る(タコいのはご愛嬌・・・windowsのバッチ初めてなのでorz)。
@echo off
set ifilename=%1
set ofilename=%2
type nul > %ofilename%
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%A in (%1) do (
set line=%%A
echo !line:TimesNewRoman=Times New Roman!>>out001.eps
)
pstoedit -xscale 2 -yscale 2 -f emf out001.eps %ofilename%
del out001.eps
endlocal
第一引数にinput、第二引数にoutputを書いてバッチ実行。out001.epsがそのフォルダにあるとうまく動かない。
これで全部のTimesNewRomanって書かれたフォントがTimes New Romanに置き換わるので、問題ない・・・と思いたい。
wordにemfを張ってpdf化するとおかしな表示になるのはまだ解決してませんが、それは純正使わなきゃいいだけの話。
とりあえず一か月以上ずっと困ってたことは解決したので、スレのみなさんありがとうございました。
また何かあったらその時によろしくお願いします。
wordってpsかpdfの図貼り付けられなかったっけ?
>>193 やってみました。
PSの図は張り付けられるっぽいけど、文字がアウトライン化されて太るみたいです・・・
PDFは厳しかったような・・・
うろおぼえだけど、オブジェクトで挿入できなかったかな?
wordに貼る場合、wgnuplotで表示しているのをコピペで貼ってる。 ビットマップだから印刷すると汚くなるけど、どうせディスプレイで見るだけだし
windowsターミナルからコピペすればメタファイル形式になるからガタつかない windowsターミナル自体の表示品質はさておき
4.6.3でemfターミナル使えば良いんでないの?
wordからPDF化した時の不具合は多分これと同じ問題かな。
http://ayapin-film.sakura.ne.jp/Gnuplot/trees.cgi?log=&v=2604&e=msg&lp=2604&st=10 どうしてもeps経由する必要があるのか、
古いバージョンのGnuplotしか使えないならしょうがないけど、
最初からemfで吐くので良ければ、4.6.3のemfターミナルがおすすめ。
自分はLinux上のGnuplot4.6.3でemf作って、
MS wordに貼り付けてるけど、問題起こったこと無いよ。
>>199 情報あざっす。
emfターミナルは使おうとしていたら、白抜きのpoint typeの種類があまり無くてちょっと敬遠ぎみです。
ただ、もう5つのデータとかを一つのグラフに描くことは無いだろうから、この先は直接emfでもいいのかな。
あと、もう一つemfターミナル使わない理由があって、
ターミナル使ったら、何故かpoint typeを白丸にしたときだけ、
プロット点にline widthが適用されない。これってバグかな?
俺のPC以外の環境で再現しますか?
つまり、line widthがホントにlineにしか適用されない。
windows版でもfedora版でも同じ状態になっちゃうんだけど、解決法がよく分からない・・・orz
w pにしようがw lpにしようがpoint typeに白丸を適用したら白丸の点にだけ太さの設定が適用されないんだ。
他の点、例えば四角とかひし形とかは適用されるのに・・・。
なんか質問ばっかで申し訳ないです。
研究室に行かないと分からないけど、たぶん、バージョンは最新(=4.6.3)だと思うんだけど・・・
そして今気づいたことがある。
epsからemfにしたら線の太さが適用されてないじゃん!?
とりあえず、あまり線の太さが問題になることはないだろうから、ここではシカトしとくww
WordじゃなくてPowerPointだったけど、gnuplotのグラフ入れるときにはGSviewで変換してたわ どうせ表示するプロジェクターの解像度なんてたかが知れてるから、pngにしちゃってたけど
>>176 iozone のファイルからグラフが生成されない問題
自己解決しました。
*.pl のソースの行末がCRLFになっているのがエラーの原因なので
nkf -Lu で行末コードを変換したら、正常にグラフが生成されるようになりました。
gnuplot ねたじゃない感じですいませんでした。
>>200 確かに白丸だけ千の太さが反映されないね。
線ばっかりで点はあまり使わないから気がつかんかった。
>>203 やっぱり、再現性はあるのか・・・
白丸はプロット点でよく使うんでちょっと致命的なんですよね・・・
まあ、四角とかダイヤとかをその代わりに使えばいいってだけの話でもあるんだけど・・・・・
4.6.4出たね。 ところで以前に竹の先生のページで紹介されてたCVS版の機能で、 名前付きデータブロックって有ったと思うんだけど、 リリース版には入ってないんだっけ?
4.6.4のRelease Notesが見れん・・・とりあえず入れたけど
>>205 入ってないぽいっすね。一年前の機能なのに・・・
CVS版はあまりチェックしてないけど乗り換えたほうがいいのかなぁ
termが x11 enhanced の状態でシンボルフォントを使うにはどうすればいいですか? よくやる {/Symbol W} などは postscript enhanced 以外のtermで使うと、 以下のようにフォントが見つからないエラーになってしまいます。 gdImageStringFT: Could not find/open font while printing string W with font Symbol OSはLinuxのFedora14やCentOS6.2です。 環境依存の部分もあるかもしれませんが、アドバイス頂けないでしょうか?
wine-symbol-fontsというパッケージがあったのでyumで入れてみると /usr/share/fonts/wine-symbol-fonts/ に symbol.ttf が現れ、 {/symbol W} とすると x11 enhanced でも表示されました。 見た目は {/Symbol W} と変わらなさそうです。 postscriptでSymbolフォントが使えているので、どこかに Symbol.ttf が あるかと思い探しましたが見つかりませんでした。うーん、よく分かりません。 # っていうか、wineってあのWine Linuxのことかな?ずいぶん懐かしいような…
>>206 便利そうな機能だから使って見たかったんだけどなぁ。4.8になるまでおあずけなのかな。
>>207 フォントの事はよく知らないけど、postscriptで使ってるのはTTF形式でないのでは?
あと、多分wineはwindowsの.exeを実行させる奴だと思うよ。
>>209 レスありがとうございます。
おっしゃる通り、postscriptのフォントは別の形式なのかもしれません。
何もインストールせずにデフォルト環境でSymbolフォントが見れたらいいなと
思ってたんですが、そうもいかないようです。
このスレの人達は毎回epsに出力してから確認してる人が多いのかな?
自分はeps経由は一手間かかるのが嫌なのであまり使ってません。
wineはそういえば聞いたことありますね。ということは、Windowsのexeファイルを
実行するときに使われるフォントということかな。
最近の 4系は plus と同じこと出来る様になったでしょうか?
残念。あんな便利な機能なんで取り込まないんだ。 まだまだ plus 継続だな。
俺は+は使ったことないから知らんけど、 それほど便利なんだったら本家に取り込んでもらう努力くらいしたらいいのでは?
え!? plus を使ったことないだって? まぁ、でも、文系ならそう言う人もいますかね。
まぁ、文系の方達は4系、理系はプラス、と住み分ければ良いと思いますよ。
色々あるけど1つだけ上げると、軸のラベルや線のタイトルに、ルートやべき乗が簡単に 書ける。 set xlabel '$\sqrt{\alpha}$ [kg/m$^3$]' とか。
terminal を latex や epslatex にしてもできるよね。 どうせlatexの文書に埋め込むんだから、これでいいわけで。 あ、自称「理系」さんは住み分けてるので、試してくれなくていいですよ。
impress に貼ったりもしますよ。 あ、impress と言うのはパワーポイントの様なソフトです。 文系の方々のために念のため。
set term tikzで吐かせたのもLaTeXには便利ですね。
上がtikZ、下がLaTeX
自称「理系」さんは、beamerとか使え^Hわないんですね。
もっと洗練された powerdot なんてのもありますが、文系の方々には必要ないですね。
そろそろうぜーぞ beamerはともかく、powerdotなんて開発止まってねーか? ともかく、LaTeXラブなら4、 LaTeXとか死んでも経由したくないけどLaTeX風ラベルを書きたいなら+、で決着な
その決着に賛成。 でも、グラフ作るのに gnuplot で完結しなくても不満を感じないってとっても不思議。 たぶん、latex 経由はそう頻繁には必要ない業界なのでしょうね。
プレゼン用のグラフはラベル抜きで作ってプレゼンソフト上でラベル書くなあ 文字サイズの調整がしやすいから
emacs hoge.gp -> gnuplot hoge.gp で論文にもプレゼンにもそのまま使える eps が作れなかったら、嫌過ぎるけどな。
>>233 plus 使ったら良いのに。
って言うか、今はどうしてるの?
latex 経由とか2度手間な事してるの?
添字とギリシャ文字だけなんだよね。。。しかも、ギリシャ文字はコード番号を打ち込みと言う不便さ。 うちの業界だとギリシャ文字、添字、分数、根号は必須なので plus 一択。 例えば set ylabel '$\Psi(\vec{r})$ [1/fm$^{\frac{32}}$] ' とか。
誰も本家に入れようとしないんだから、そういうのを欲しがる業界はごく一部なんだろうねえ かくいう俺も欲しいとは思わん
>>234 MS Officeの数式がマシになってきたので、Officeで完結するようにしてる
必要だったらgnuplotで出した画像の上に数式のテキストを上書きしてウンヌン・・・
ダサすぎだろうけど、そういうことする頻度も低いんでまぁいいかなと現状維持
>237 あるに越したことはないとは思うが 確かに言われてみると軸ラベル・タイトルあたりだと 数式そのものを書く需要はあまりなさそうな気はする ギリシャ文字くらいは欲しいけど
ギリシャ文字なら, set terminal png enhanced xlabel '{/Symbol a}' とかやれば書けるんじゃなかったっけ?
実験データのプレゼン用のグラフはピーク名とか入れる必要あったから、全部Illustratorで手修正してたなぁ フォント統一したいからラベルもそのとき入れてた 日々大量に生まれる実験データ自体はC++で自作したプログラムで処理して、ピークにピーク位置の値を labelで流し込んだgnuplotのバッチ自動生成→systemでgnuplot呼び出しでグラフ化してた 多少見栄えが悪いけど人に見せるものじゃないし
やはり、皆さん、gnuplot 4 単独では人に見せる目的のグラフは作れないんですね。
釣りじゃなくて結論・感想を述べただけですよ。 office や illustrator で加工するとおっしゃってますよね。 4単独では作れないと言うことです。
マニュアルを読んで工夫すれば,かなり使える強力なツールだと思う. 自分はgnuplot単体で論文掲載用の図まで作っちゃうけど, いろいろトリッキーな使い方をしていて,それができるgnuplotが気に入っている. 要は工夫する頭があるかどうかだと思う.
自分は『gnuplot単体で』と書いた通り,+を使ってはいないよ.
私は gnuplot+ 単体で論文掲載用からプレゼン用のグラフまで作る。 なぜなら、工夫すれば色々できるを使いやすく実現したのが plus だから。 それに機能が拡張されて、 4 では逆立ちしてもできない機能もあるし。
本人がplusで満足してんならそれでいいんじゃね 自分が化石だってことを自覚して大人しく黙ってる分には
珍しく伸びてると思ったら…… plus専用スレ立てた方がいいんじゃない?
>>254 >本家でできて+でできない機能って何?
ないよ。拡張だからね。
4系の3D表示回転とかくだらない機能は除いて。
さぁ?何故でしょう? 不思議です。私にはさっぱり解りません。
emfターミナルのfillが灰色の塗りつぶしなんだけど、
psターミナルみたいな網掛けにする方法ないかな?
元データを加工して網掛け用データを作成するのは最後の手段として。
>>254 4.6.3以降ならMS Officeに貼っても不具合のない日本語含むemfが作れる。
MS Officeを使わざるを得ない環境なんで、これが本当に助かる。
MSOfficeでベクトル画像使ったことないんだけど、emfぐらいしかまともに使えないんだっけ? svgとかはどうなの?
emf以外はダメっぽい。svgはそもそも認識されない。 かろうじてepsは貼れるけど、文字が画像に変換されてガタガタになる。
んーひどいなw なんでMSはベクトル画像の扱いがこうも雑なんだろう わざとやってるとしか思えん
一回行った set xrange を解除する方法ってないですか? unset してもレンジがデフォルト状態(データの最大最小に合わせる)に戻らなくて不便です。
>>264 営業戦略的にわざとやってても不思議はないけど、どうなんでしょね。
>>265 set xrange [*:*]
あとは、help set xrangeでも見てみてちょうだい。
>>261 ほんとだ、emfのfillって強制的に塗りつぶしになるのかね
set term x11
set style fill
p sin(x) w boxes fs pa 5
set term emf
set output "test.emf"
rep
x11上では指定したパターンで見えてるのに
>>268 多分fillパターンってターミナル毎に固有になってるっぽい。
で、emfターミナルのパターンは網掛けでなく、塗りつぶしらしい。
塗りつぶしのfillは自前で設定できるんだから、
網掛けパターン用意してくれると有難いんだけどなぁ。
ついでのメモ書き。4.6.4のemfターミナル使ってて気がついたバグっぽい事。
・
>>200 の白抜き丸印で線幅が反映されない。
・矢先を塗りつぶしにした矢印で線幅が反映されない。
・set outputとset multiplot title 'hoge'を繰り返すと、タイトルの文字列が小さく潰れる。
plotした x, y データをファイルに出力することっってできませんか? termでdumbを使うとかじゃなくて、普通にx, yの値を2列にテキストなどへ出力したいんですが 頑張って作った関数funcのデータを、ファイルに出力したくなるときがあるんですよね func(x) = 〜〜〜 p "input.dat" u 1:(func($2))
吐き出されるグラフが異様に汚いんですけど解像度上げる方法はありますか?
ctrl+ホイールスクロールでx軸とy軸をスケール、 ctl+shift+ホイールスクロールでx軸だけをスケール、 ってふうになってるけど、y軸だけのスケールってできないの?
>>279 まじれすしてやるが、gnuplotの出力形式は山ほどあって
しかもそのそれぞれについて様々な設定ができる。
何をどうしたいのか具体的に書かないと答えられないよ。
バージョンの違い、環境の違いによってグラフの質がまったくといっていいほど 別物になるってことありますか? 例えば、gnuplotの同じバージョンでもCygwinとLinuxでは前者で出力したものの ほうがきれいで、後者だと汚く表示されました。
>>283 フォントではなくて、具体的に言うと等高線を書いているんですが
綺麗に表示される場合と気分が悪くなるような雑な絵のような表示とが
あります。
データファイル「data.log」とそれを使って等高線を書いた時の設定ファイル
「data.plt」あったとします
%gnuplot
>load 'data.plt'
で表示するとおかしくなります。
>>284 どうやったらそんなに情報量のないレスができるんだ。
data.pltとそれぞれの環境でのスクショ貼れよ
gnuplotの補完ってもっと賢くならないかなー 普段zshやipython使ってるせいか余計不便さにイラつく
すいません0のデータをグラフで非表示にする方法ないでしょうか
>>293 f(x)=x==0?0/0:x
plot "dat" using 0:f($1)
とか?
立ち上げる時のウィンドウサイズをいじりたいんだけど どうすればいいdすか?
>>296 ターミナルの種類わからないと答えられません
Gnuplot Q&A 掲示板の【2697】importの話はなかなか魅力的ですね。
Gnuplot Q&A 掲示板URL
http://ayapin-film.sakura.ne.jp/Gnuplot/QA.html octaveスレが死んでしまった gnuplotって64ビット対応してないのかな mingwじゃ無理だった
>>299 >octaveスレが死んでしまった
「死んでしまった」とはどういう意味でしょう。見れないということなら3/16
現在問題ないですが。
http://toro.2ch.net/test/read.cgi/unix/1256735581/ >gnuplotって64ビット対応してないのかな
以下をみつけました。
”gnuplot on 64-bit Windows, again”
http://gnuplot.10905.n7.nabble.com/gnuplot-on-64-bit-Windows-again-td17580.html >>300 あれ?openjaneだと見れなかったから落ちたのかと思っちゃった、ごめん
パッチ内容見たけどこれはほとんど、やった。あらためて自分のソースdiffしてみたけど、そのパッチ
だけじゃ修正しきれてない。
まあx86の定義をx64に修正すればいいだけの話なので素人でも修正可能、ただhtmlhelp.libのx64
がどうしてもダメであきらめた。今のx64ライブラリだとbufferoverflowのライブラリも関連するので
書いててmakefileのHTML_HELP関連消せば通る事に気付きx64ビルド成功。
objdumpで見ると確かにx64なんだけどgunplotを立ち上げると32bitになってる。うーむー。
cvsのバージョンが5.0 alphaになっとった。
Y=x のグラフをxrange [0:1]で描画するとして、[0:0.5]を破線、[0.5:1]を実線するためにはどうしたらいいですか?
gnuplot> f(x,a,b)=a<x ? x<b ? x : 0/0 : 0/0 gnuplot> plot [0:1] f(x,0,0.5), f(x,0.5,1) とか。
>>304 おお!!ありがとうございます!
このような裏コマンド的な物って普通に巷で買える書籍にはほとんど載ってませんよね?
どこでその知識を仕入れてるのですか?
うーん、描画したくない部分はNaNにするってのはわりとよくある手だと思うけど、 初めて知ったのはどこだったか覚えてないなあ。 というかgnuplotに限らないけどツールの勉強に書籍を使ったこともないなあ。
手元のdebianに入ってるgnuplot 4.6.5では扱えなかったけど、
もっと新しいやつなら
gnuplot [0:1] sample, [0:0.5] x lt 1, [0.5:1] x lt 2
ってのも使えるみたいだね。
http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gpinfo-2012.html
>>301 CVSのソースだとwin64に対する修正がかかっていると聞いたので
トライしてみました。
ヘルプに関しては書かれているようにHTML_HELP関連消せば通りました。
しかし,アプリケーションエラー(0xc000007b)がでて起動せず。
orz
>>308 ビルドディレクトリで起動したら,起動しました。
タスクマネージャーで確認したら64bitで動いてました。
>>301 >>309 helpについては
http://gnuplot.10905.n7.nabble.com/gnuplot-on-64-bit-Windows-again-td17580.html を参考にしたら,動いた。
hhctrl.ocxを探し出す。
pexports hhctrl.ocx > hhctrl.def
でdefファイルを作る。
dlltool -l hhctrl.dll.a -d hhctrl.def hhctrl.ocx
で hhctrl.dll.aを作る。
インクルードはあくまでHTML HELP WORKSHOPのものを使いライブラリを
hhctrl.dll.aでリンクする。
-lhhctrl.dll
がうまくみつからなかったので
LDLIBS += /c/PROGRA~2/HELPWO~1/lib/hhctrl.dll.a
としました。
でHelpは正常に起動します。
>>301 >>309 helpについては
http://gnuplot.10905.n7.nabble.com/gnuplot-on-64-bit-Windows-again-td17580.html を参考にしたら,動いた。
hhctrl.ocxを探し出す。
pexports hhctrl.ocx > hhctrl.def
でdefファイルを作る。
dlltool -l hhctrl.dll.a -d hhctrl.def hhctrl.ocx
で hhctrl.dll.aを作る。
インクルードはあくまでHTML HELP WORKSHOPのものを使いライブラリを
hhctrl.dll.aでリンクする。
-lhhctrl.dll
がうまくみつからなかったので
LDLIBS += /c/PROGRA~2/HELPWO~1/lib/hhctrl.dll.a
としました。
でHelpは正常に起動します。
>>310 >>311 の二重投稿すいませんm(__)m。
CVS版でwxtとqtターミナルにpositionオプションがつきました。 2014-04-20 Jérôme Lodewyck : new terminal option "position" that specifies the initial position of the plot window. Applies to Qt and wxt terminals. Feature request #386.
Unix板でWindowsのことで申し訳ありませんが,CygwinとNative Windowsで
CVS版を公開しています。
gnuplot 5.0 alpha (cvs) cygwin (32 and 64 bit) binaries prepared by gcc-4.8.2
http://www.tatsuromatsuoka.com/gnuplot/Eng/cygbin/ File list of gnuplot 5.0 alpha (CVS) for Windows
http://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/ です。よろしくお願いします。m(__)m。
分かる方がいたら,知恵を貸してください. ここ2〜3週間くらいの間に,Cygwin+gnuplot環境で, フォントについて下のようなメッセージが出るようになりました.自宅と会社の両方のPCで起こります. この2〜3週間の間にどちらのPCもCygwinのアップデートをかけているので,それが問題の引き金だとは思うのですが, 何がいけなかったのか,どうしたら解決できるのかが分かりません. <terminal pngの場合> fontconfig: Couldn't retrieve font file name. when opening font "arial", using internal non-scalable font と表示され,outputの画像に表示される文字がドット絵みたいになる.環境変数に GDFONTPATH=/cygdrive/c/Windows/Fonts を設定すると,トゥルータイプフォントっぽい文字が表示される. <terminal pngcairoの場合> (process:4816): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common' (process:4816): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin' と表示され,outputした画像に文字が(軸の数値すら)全く表示されない. 環境変数にGDFONTPATHを設定しても文字が表示されない. 環境は, [会社のPC] Win7 64bitOS,Cgwin64,Gnuplot Version 4.6 [自宅のPC] Win7 32bitOS,Cygwin32, Gnuplot Version 4.6 patchlevel 3 last modified 2013-04-12 Build System: CYGWIN_NT-6.1 i686
5.0rc1試してみたよ。 デフォルトの設定が変わって,今までと同じようにプロットしたら ずいぶん違った見た目になって,面食らった。 .gnuplotでゴニョゴニョしたら元に戻せたからいいけど。 個人的にはx11で凡例の所をクリックすると, プロットが一時的に消せるのがありがたい。 でもズームとかreplotですぐに復活するのが,なんだかなぁ。 あと,軸の始点が0でないときの軸ラベルの書式がおかしくなった。 たとえば(うろ覚えだけど), Y軸が始点0,終点2e-6 なら 2e-6 1.5e-6 1e-6 5e-7 0 始点1e-6,終点3e-6 だと 0.000003 0.000003 0.000002 0.000002 0.000001 みたいな感じ。
ごめん
>>320 だけど,
だれかわかる人
>>319 のひとに答えてあげて!
>>319 2-3週間前っていうと、ウチはmsys2なんだがその頃pacmanでコアのアップデートしたら
動かなくなったソフトが何件かあった。
バックアップしておいたので、結局コアを以前の状態に戻したら直った
恐らくmsys2(1では無い)の開発者はcygwinの動向をチェックしてると思うので、その頃なん
か変更したんだと思う、全然参考にならなくてごめん
可能なら元の状態に戻してみるのがいいんじゃないかな。
4.6にしたらtab補完の後にスペースがつくんだけどこれなんとか出来ないんですか? あと描画に前よりずいぶん時間がかかるようになってる.アニメーションとかにするとめちゃくちゃおそいわ
>>324 ちなみにターミナルの種類は?
うちはx11だけど描画が遅くなった感じはしないよ
>>328 僕もx11です.
見た感じ描画の解像度が高くなってるからそれが理由かも
普通の y エラーバー付きの2次元グラフでは横(x)方向は点ですが、 これを1cmくらいに長くして箱の様にしたいのですが、どうしたら良いでしょう? 棒グラフだと必ず下がゼロから始まってしまう。 そうではなくて、任意の高さを中心に誤差が高さの箱を描きたいのです。 例えば、誤差付きエネルギー準位の様に。アイデアを貸してください。
>>330 x幅が固定ならboxes、点ごとに変えるならboxerrorbars。
と、うろ覚えで回答してみる。
gnuplotである観測データをスプライン補完使って描画するには、 plot "hoge.dat" using 1:2 smooth csplines ってやると思うんだけど、 そのスプライン補完で描画されたグラフの近似式ってのはわからないんだっけか?
そういうときは素直に help fit するか、もうちょっと違うツールをご検討下さい
>>338 そうやって自ら回答にたどりつかない道を選ぶんですね(笑)
>>340 キモいから書き込むな、ゴミカス(^ ^)
gnuplotを複数立ち上げようとして aa.shに #bin/sh gnuplot -persist hoge.plt gnuplot -persist hoge2.plt ・・ みたいなものを作って実行したのですが、 cannot open serverとうまく行かない場合があります 何回もやっているとうまくいく時もあるのですが、 なにか原因考えられれないでしょうか?
>>345 エラーメッセージは出力されたものを、そのまま書いて下さい。
.plt の中で set term は何を指定していますか?
.shをどこからどうやって実行していますか?
.pltでグラフ画像を作ってしまい、後で表示して比較したらいいと思いました。
>>346 ありがとうございます。状況記入少なくて申し訳ありません
エラー全文は、
QtGnuplotApplication error : cannot open server
です
さっき気づいたのですがこの状態で30秒ぐらい待っているとグラフが出てくるときがありました
pltでset termというものは指定していませんでした。
今回のエラーに関連しそうなのでしょうか?勉強不足ですいません調べてみます
.shの実行方法は、fortranのプログラムをeclipseで作成実行しておりプログラム中のcall systemで呼び出していました
他にターミナルから直に./aa.shもやってみたのですが、同じ症状でした
gnuplotで画像出力?して、それをanimateなどで実行するということでよいでしょうか
勉強になります
自分でもやり方調べてみますが、もしまたアドバイスいただけたら幸いです
ありがとうございました。
ゴミカス野郎は自分がわからないと、調べろとかよくわからんこと言い始めるよね。 一種の癇癪に近い
>>349 見当違いな質問をしておいて的外れな回答が返ってきたのが気に入らないバカが拗ねてるだけ。ほっといていい。
たまに何かの拍子に履歴が消えるんだよな・・・ 環境依存なのだろうか
with vecを使って2つのデータを,それぞれ,矢印の傘あり/なしでプロットす る際, set hidden3dをつけていると,noheadオプションの有無によらず矢印の傘 が 無くなってしまいます(下のサンプルの通りです). hidden3dを外す以外に矢印の傘の有無を制御する方法はありますか? gnuplotのバージョンは4.6です. # ====== サンプルここから ===== #!/usr/bin/gnuplot set hidden3d splot \ '-' u 1:2:3:4:5:6 w vec title'arrow', \ '-' u 1:2:3:4:5:6 w vec nohead title'segment' 0 0 0 0.5 0.2 0.3 e 0.1 0 0 0.5 0.4 0.6 e # ====== サンプルここまで =====
data.csvが #x,f(x),g(x) ... のようになっている場合、 plot "data.csv" using 1:2:3 filledcurves でf(x)とg(x)の間の領域を塗りつぶせますが、同じことをy, f(y), g(y)でできないでしょうか できれば回転 (y, f(y), g(y)のxyを交換したものを90°回す) 以外でお願いします
f(y) <= x <= g(y) を塗りつぶしたいという意味です
>>357 きっついよなほんと
実際、アッー!って叫んだし
さっきまた消えたわ・・・ どうもIOが激しい最中にgnuplotをquitで抜けたときに、 (<unknown>:32015): GLib-GObject-WARNING **: gsignal.c:2392: instance `0x2ac978040b60' has no handler with id `129' とかいう変なメッセージを出した後 segmentation fault になるっぽい バージョンは4.6.5
gnuplot -e "plot sin(x)" 上記をzsh等の上から実行するとグラフができてから一瞬で終了してしまう 止めておく方法は無いだろうか? この止める方法があれば、10分ごとに更新されるデータからgrepなどで取り出した情報から 一気にグラフ化するまでシェルスクリプトでやれて便利になるのだが...
>>361 マニュアルの
-persist
replot
をチェック
>>362 Thanks
-persist オプション便利だね
-persistだと、ショートカットキーやマウスで拡大とか効かないんだよね。 しょうがないからperlとかでパイプ開いてコマンド流し込んだりとか。 ちなみにtermはx11。
>>360 また、そんなことばっか言うて!キミはいい加減にしたまえ
神戸市の東、芦屋西宮の知的障害者施設で未成年利用者に性的な行為をして淫行条例で逮捕された三田谷学園元職員の堂垣直人(西宮市老松町)は、結局どういう罪になったの?
被害者家族のケアを芦屋市役所と兵庫県警はちゃんとやったのか?
差別や虐待は環境を選べない子供には関係ない。
VIDEO ;sns=em
5.0の正式版はいつ来るの? CVSはもう5.1までいってるのに、5.0はrc2から進まないって。。。
いつのまにか5.0-rc3が出てた。 finalって書いてあるよ。
break axisを使いたいだけのためだけどgnuplotを触ってみることにしました 色々できそうですね。散布図ぐらいしか使わないかもですが
オレは自作GUIツールのグラフ表示にgnuplotで散布図出してるけど、色々できすぎて泣けてくる。 できればクリッカブルマップ的なことができると、もっとうれしいなと思う今日この頃。
Ver5リリースしたんだね 自分はCygwinに来るまで座して待つ
やっと5.0正式版きたね。 心置きなくインスコできる。
>>377 読むのがダルイから聞いてんだよ
それぐらいも分からないとか頭おかしい
「英語を」読むのがだるいというのならこの辺
http://takeno.iee.niit.ac.jp/ ~foo/gp-jman/data/20150106/gnuplot-ja-div/node6.html
ファイル名やディレクトリ名に = を含むと補完がうまく効いてくれない 何か方法ないかな?
使えるからといって使うと「センスないね」などと詰られることが時々ある 理不尽と思うかもしれないがこればかりは慣れていただくしかない
支障ない限りは = : + - @ あたりの記号は自由に使うけどなぁ とはいっても今の仕事はgnuplot必須なんで諦めてるけど・・・
Cygwinにgnuplot5.0が来たので使ってみたけど,表示がかなり変わるね.
色や実線/破線が変わるのは調整して何とかなったけど,
3次元プロット(splot)するときに『set grid』を使うと,XY平面上のグリッドが波打つのは困った.
ネットで解決策を探していたら.本家のdemoも波打っている.
gnuplot demo script: surface1.dem
http://gnuplot.sourceforge.net/demo/surface1.html に載っているサンプル,たとえばこれとか↓
set grid に linestyle を追加したら直線になったけど,破線にはできなかった.
錯視じゃないの? ホントはまっすぐなのに曲がって見えるとか。
http://www.becoolusers.com/excel/doughnut-chart02.html こんな感じの二重ドーナッツグラフをgnuplotで作りたいのですがどうしたらいいですか?
円グラフの作り方は検索すると見つかりますが、ドーナッツグラフの作り方がわかりません
今ググって調べただけだけど、重ねて書けばいいんじゃない? ==> 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
qtターミナルがシステムのqtテーマを反映しない デフォルトのテーマになる どこ見たら良いのか検討もつかん
過疎ってますな。 自分的にはgnuplotのような神ツールにはずいぶんお世話になってるので 盛り上がってほしいところだが。
terminalはなんとなくwxtにしてるわ 今は何が人気なんだろう
よろしくです。 エクセルからのスペース出力データだとダメですよね? テキストエディタで色々変更して流し込めました。 Mac OSでデータファイルを使うとき、改行コードとエンコは何を指定すると良いの?
オマエラちょっと親切にしてやんないから ますます過疎ってるじゃないか。
>>405 環境によるとしか言えない
自分の場合はutf8, LF, タブ区切りがデフォ
エクセルも使ってた時はタブ区切りテキストで保存->nkfでエンコード変更してた
ちょっとお聞きしたいのですが、 linepointsで書いたグラフの凡例を、 時系列の最後のデータの大きい順に並び替えることなどできないでしょうか?
基本的にplotで並べた順だから、plot "> "で外部プログラム呼び出して判定していくしかないと我思う
Gnuplotはあくまでプロットソフトだからデータの解析には全く向いてない 例えば移動平均すらデフォルトではできなかったはず あと個人的な興味なんだけど、最後のデータの大きい順に凡例を並び替えるってデフォルトの機能でできるソフトウェアってあるの? シェアでもフリーでも
>>412-416 ありがとうございました。
歴史の長いgnuplotならもしかしてマニアック機能であったりするんじゃないかと思って聞いてみました
データファイルの方を大きい順にするようにしてみます
ん?sortじゃまったく用件を満たさないと思うけど
gnuplotが楽しすぎる。 使い込むほど綺麗で見やすいグラフが作れるし、裏ワザ的なノウハウも蓄積されて 「こんなこともできるんだぜ!!」って自己満足にもひたれる。 仕事に集中できない時の良い暇つぶしになるし、 それが報告書掲載用のグラフづくりという実益にもなっています。 ありがとう、gnuplot。
数値計算の結果がうまく行ってグラフが綺麗に描けたとき、誰かに見せびらかしたくなる。 でも論文に載せるには適さない。業務上の秘密のため無闇に公開もできない。 ああ…
ラベルに latex 形式の数式が使える様になったら神ツールと認めても良いが、現状は凡ツールだな。
set encoding utf8 #set term svg plot sin(x) ** 2 title 'sin^2 {/:Italic θ}'
eps吐かせて手で書けばいいとおもう gnuplotのpsってそんな複雑じゃないし
latexとの連携は面白いね。ぜひ実装してほしい とかいいつつMSWordばっか使ってる俺
俺は論文に載せるグラフは今でも plus パッチを当てた ver3 を使ってるよ。 ラベルで数式を気楽に書けないなんて不便極まりないないからね。 gnuplot3 の名前で自分のhomeにインストールしてる。
2つの関数に挟まれた領域を塗りつぶすにはどうすればいいのでしょうか? データファイルの2つの線の間を塗りつぶすことができるのは知っているのですが データファイルじゃなくて関数で指定したいです。
グラフ生成のスクリプトを作成して実行するとプロセスが残ってしまうのですが プロセスを終了するにはどうすればいいのでしょうか? 繰り返し実行するとグラフは作成されるのですが、繰り返した回数だけ gnuplotのプロセスが残ってしまいます。 OSはWindowsです。
>>433 こんなんしたときこっちではプロセス残ったりしない
C:\>more sin.plot
set terminal png
set output "sin.png"
plot sin(x)
C:\>gnuplot sin.plot
>>434 最後にset outputを付けないと生成したファイルを開こうとすると他のプロセスが使用中
で開けませんってなりませんか?
set outputを付けないで何度がテストした感じだとプロセスが増えていないかもしれないですが
ファイルを開けないので実用に耐えないです。
マシンを再起動すれば開けましたが。
>>434 最新のバージョンで試したらプロセスは残りませんでした。
古いバージョンのバグだったみたいです。お騒がせしました。
matplotlibというものに出会ってどうでもよくなった。
>>439 python載せたら良いじゃん。
matplotlib使ったらgnuplotなんて要らなくなるか、ちょっとしたグラフ描きたいぐらいのついでぐらいでしか使わなくなるよ。
本格的にやるんなら、python+numpy+matplotlib+pandasで何でも出来るぜ。
gnuplotの使い方を分かってなさそう どういう使い方してる?
set label {/Symbol p}とかで出力する文字のフォントはどこで設定するんですか? set label
set label {/Symbol p}とかで出力する文字のフォントはどこで設定するんですか? set label あいうえおとかのフォントは設定できるんですが、(この場合の)Symbolのπ のフォントはデフォルト?が使われているみたいできれいじゃないです。 OSはWindowsです。 ダブルクオートはだめみたいなので再度書き込みます。
>>443 です。
terminalをwindowsにしたらきれいなフォントで出力されました。
wtxの問題のようですが、wtxのフォントの設定は特殊なんでしょうか?
θとかで記号を記述できることを見つけたんだけど どういう機能なんだろ? マニュアルで探しても見つけられなかったんだけど 機能の名前とか説明しているページとか知ってたら教えて
>>446 エンティティって何だろう?
マニュアルを検索しても見当たらなかったけど
文字実体参照 character entity reference
>>446 θの形式がcharacter entity referenceだってこと?
ただ、character entity referenceをgnuplotがどうサポートしてるかについては
マニュアルもWebのページも見つけられない
PNGとかでしか使えないみたいだからgnuplotの機能じゃなくてGDライブラリの機能かもしれない
HTML, XML, SVGだと みたいに実体参照できる
>>452 >>453 これってsvg のスクリプトのことですよね。だから、svgターミナルからはできないってことでいいのかな。
svgをはきださせて、スクリプトをエディタで編集するってことでいいんですか?
>>454 テストしたらこうでした。
pngかgifとかでしか使えないみたい。
set terminal wxt noenhance
plot x title
>>454 テストしたらこうでした。
pngかgifとかでしか使えないみたい。
set terminal wxt noenhance
plot x title θ
タイトルは「θ」
set terminal png noenhance
plot x title θ
タイトルは「θ」
set terminal svg noenhance
plot x title θ
タイトルは「θ」
(ダブルクオートは書き込めなかったから消してます)
>>456 情報ありがとう。
便利な機能なので、
feature requestでもだしてみます。
#お前がやれと言われそうですが
>>457 よろしく。
ちなみに/Symbolでも記号を指定できるんだけどSymbolフォントの扱いが
terminalによってばらばらなんだよね。
確かwxtだとデフォルトのフォントを指定してもSymbolフォントになってしまって
実際にはかっこ悪いフォントが選択される。
pngだとデフォルトのフォントが反映されたような。
>>458 パソコンから書き込んだら2chブラウザで見れないので、スマホから書き込んでいます。
windowsの文字コード表(起動の仕方は、ググって下さい。m(__)m)を起動してTimes New Romanのフォントを探すとギリシャ文字がでてくるので、これをスクリプトを書いているエディタにコピペします。
enhanced textでは
'{/Times-New-Roman π}'
でπの部分は実際は文字コード表からとってきたコードのフォントです。シングルクォートを使う方がお勧めです。(ダブルクォートでないとできないこともあるようですが。)
wxt だけでなく、色々なターミナルで使える方法です。
>>459 Times New Roman のようにフォント名にスペースがある場合は、スペースをハイフン(-)で置き換える(Times-New-Roman)のがTipsです。(これで大分悩んだ(*_*))。
>>456 ちなみにenhanced textでは、{'/:Italic \θ'} のように書く。
>>461 間違えた。
'{/:Italic \&theta}'
>>463 ありがとう。
どうしてgdを使っているterminalは対応しているのかだけでも分かればすっきりする。
Unix板なのにWindowsの話ですいません。でも、このビルドツールはunix類似環境で動くので言い訳しておきます。
Build instructions using MSYS2/Mingw-w64
https://sourceforge.net/p/gnuplot/support-requests/199/ このインストラクションにそって開発版のgnuplotのビルドが出来ました。
いい時代になったものだ。
とりあえずは、
>>459 の方法を使って下さい。この方法は、この方法で合理性がある方法なので。
>>466 やっぱりそうなんだ。
お蔭様ですっきりしました。
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ターミナルのフォントがまともになった。
塗りつぶしていない領域と塗りつぶした領域で点線の色を変えるにはどうすればいいんでしょうか? set terminal png set grid front plot x with filledcurves x1 を実行すると塗りつぶした領域では格子線が白で表示されるので分かりやすいです。 同じような効果を得たいのですが、wxtやpngcairoに出力した場合は点線の色が常に黒になるため 塗りつぶした領域では点線が見づらくなってしまいます。 白と黒の点線を指定できれば同じ効果が得られるんでしょうが 点線の地の色と線の色を両方指定する方法とかないのでしょうか?
> 点線の色が常に黒になるため 点線が常に黒というのがよくわかりません。
理解力がなかったm(__)m。gridの点線の話か。 png だけ違うのは、libgdの機能のせいかもしれない。
>>472 そうだと思うんだけど、塗りつぶしていない領域と塗りつぶした領域で
点線の色を変える方法を知ってたら教えて欲しいです。
>>473 ここで、答えがつかないようならgnuplot Q&A 掲示板で聞いてみたら?
名前さらすのがいやならハンドルネームでいい訳だし。
>>474 聞いてみる。
どこが一番活発なんだろう?
gnuplot Q&A 掲示板に投稿しようとしたら書き込み不可って言われた…。
gnuplot Q&A 掲示板の3129番に投稿しておいた。
>>476 gnuplot Q&A 掲示板への投稿は、スマホからでもできますよ。現に3129番への投稿はスマホから。
>>477 パソコンから書き込もうとしたんですが、だめでした。
代理投稿ありがとうございました。
>>479 grid線を灰色にかえるという、代替案が掲示板ででました。
これでいいかどうかは、話題主さん次第です。別の回答者が現れるかもしれません。
>>480 塗り津美している領域と塗りつぶしていない領域で点線の色を変えたいのでちょっと違います。
でも、それを実現する設定はたぶんないんでしょうね。
なんでこの質問者のレスは全てイラッとするんだろうか…
>>481 pngターミナルでgridの色分けしているように見えるのは、錯覚らしい。
領域の境目の座標がわかればver. 5
なら、plotコマンドと三項演算子とfor文などつかって強引にやれんことはないかな。
問題は、領域の境目の座標を知ることだと思います。例のように直線ならば簡単ですが。
>>483 身落とし。set arrowとdo for使うアイディアが出されていました。
>>484 身落とし => 見落とし
m(__)m
>>483 なるほど。pngではgridの色と点線が違うことが理由でしたか。
すっきりしました。ありがとうございます。
gnuplot Q&A 掲示板の書き込み読んだらgnuplotを使い込んでいてすごい。 gnuplotを仕事で使ってるのかな?
>>487 仕事で使っている人ですよ。私も仕事で使ってます。
掲示板便利ですよ。
>>488 やっぱり。かなり使い込んでそうだから。
データ分析とかに使うことが多いんですか?
>>489 論文にのせる図の作成。
日頃の実験データの整理。
自作の機器制御プログラムでのリアルタイムプロット。
fitコマンドによるパラメータ最適化。
等々。
gnuplotに触らない日の方が少ない位です。
本格的データ解析はoctaveでやりますが、gnuplotの方が遥かに使用頻度が高いです。
>>490 大学の研究ですか。楽しそう。
実験データをまとめて比較したりしているんですかねえ。
使い方のノウハウとかプロセスとかたまってそうでうらやましいです。
>>487 takeno.iee.niit.ac.jp/~shige/gnuplot/gnuplot.html#info
このぺーじは本当に情報の宝庫です。もしご存じなければご覧あれ。
gnuplot Q&A 掲示板にも頻繁に登場されておーと思う回答をされます。
>>492 リンクミス。
http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gnuplot.html#info
サイトの情報ありがとうございます。 読んでみます。
gnuplot+gawkの環境で、fileAの3列目を横軸に、fileBの5列目を縦軸にグラフを描くにはどうすれば良いですか?
>>497 awkは基本的に一つのテーブル型のデータファイルを手抜きして操作できるスクリプト。
二つのデータファイルをあつかうにはpasteコマンドでファイルを連結させるのが常套。
pasteを使うのが前提ならばawkは不要。
http://folk.uio.no/hpl/scripting/doc/gnuplot/Kawano/datafile3.html#paste 時間分解能の違う2種類の時系列データで同時刻の際の相関を見るとかだと awkの連想配列が便利と言えば便利かもね
>>498 ありがとうございました
思った通りに動作しました
>>499 今回は同じだったので異なる場合を見るときは使ってみます
3次元のグラフの目盛の数字と目盛のラベルが他の軸だったり、軸の線と重なる ことがありますが、どうするのがいいのでしょうか? viewやoffsetを調整することはできるのですが、場当たり的な対応であり、 手間もかかるので、うまい対処方法はないでしょうか?
>>501 これは、難しい。3Dだから。自分にはいわれている場当たり的対応しか、思い付かない。statsも2次元だし。
ダメもとでgnuplot Q&A 掲示板で聞いてみるとか。
>>501 gnuplot Q&A 掲示板
に投稿してみた。
3140番です。
>>502 viewの角度を元にoffsetを調整することを思いついて試してみたんですが
gnuplotが目盛の表示位置を調整しているため、うまく行かないです。
zを25度回転したあたりで1文字分ずらすようです。
ソースを読めば動作が分かるんでしょうがそこまでできないでいます…。
>>501 >>505 gnuplot Q&A 掲示板の3142番の回答のようにバグの可能性があります。
bug ticketsに登録できますか?
やり方がわからないならアシストします。
z軸の回転角度を26〜154度にするとy軸の目盛が急に軸に近づくのは おかしい気はしていました。バグなんですかねえ。 bug ticketsに登録したことはないので自信はないです…。 Statusはopenで、Ownerは空でいいと思うし、内容は何とか書けないこともないと思うんですが Milestone、Priority、Labelsはどうするんだろうという感じです。 .scに書き込んでしまったので念のため.netからも。
> Milestone、Priority、Labelsはどうするんだろうという感じです。 ここらは、全部空欄でいいですよ。 私がレポートするときはじめは、気にしてましたが、今は気にしてません。 最初だけは、Anonymousで書き込めますが、やりとりをするにはsourceforgeのアカウントが必要です。アカウント名は、ハンドルネームでもかまいません。 gnuplot Q&Aの回答にあったスクリプトはつけておくことをおすすめします。
>>509 なるほど。登録してみます。
ちなみにviewの角度を元にoffsetを調整する関数が書けそうなのでそれを
完成させてから合わせてbug ticketsに登録しようと思います。
なお、
>>507 さんに対応して下さいということではないです。
誰かに対応してもらえるかなあ?という思いを率直に書いただけです。
あしからず。
>>513 登録確認しました。
デベロッパ側の返事があるといいですね。
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
>>515 解決しました。
set table $dataに一度出力してから$dataとscatter.datを描画すればよかったです。
>>516 解決したと思ったら問題がまだ残っていました。
dgrid3dで作成されるデータは元データが存在する範囲に限られるので取り得る値であっても
データがなければ曲面は描画されません。
例えば100点満点のテストのグラフを描画したいのでグラフの範囲は[0:100]だけど
実際の最低点は30点で、最高点は90点だった場合、どのように示すのがいいでしょうか?
そのままグラフを示すと曲面が0〜100点を示していると誤解する人が出そうです。
グラフの範囲を[30:90]にするというのも一案だとは思いますが、
グラフの範囲は[0:100]だという前提で、曲面の範囲は30〜90点であることも
誤解なく示すにはどうするのがいいかアイデアを頂きたいです。
>>517 3項演算子はつかえませんか?
具体例は『3項演算子 gnuplot』で検索してみて下さい。
>>518 よく考えたらimpulsesの根元が元データの分布を示していることに気が付きました。
必要であればstatで最小値・最大値が分かるのでデータの範囲をbaseの位置に示してもいいでしょうか。
ただ、当初の質問から派生した疑問としてある曲面の上にあるデータと曲面の下にある
データで色分けするにはどうすればいいのでしょうか?
2次元グラフで3項演算子を活用する方法は分かったのですが、3次元の場合の
方法は見つけられていません。
ばらついて分布する元データからdgrid3dで格子の曲面を生成し、
元データがその曲面の上下どちらにあるかを分かりやすく示したい
といった利用方法を想定しています。
>>667 このあたりのことは、gnuplot Q&A 掲示板でよく登場される竹のさんが深い造形わをお持ちです。
こちらで回答がつかない場合は、gnuplot Q&A 掲示板で質問されたほうが
いいと思います。
>>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で外部ファイルに吐き出させたデータ(長ければ、その一部)も書いてもらえませんか?
具体的なことがわからないとどこで質問しても答えはつかないと思います。
>>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
>>520 面白いスクリプトを書かれていらっしゃるのを拝見しました。
状況を見てgnuplot Q&A 掲示板の利用も検討してみます。
>>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]
ではだめですか?
>>524 そのような方法もあると思います。
元のデータが分布している範囲を明示する必要があれば
>>519 の前半の方法も
あるかと思います。
同じような悩みを持った方がいらっしゃいましたらどうしたか
アイデアを共有して頂きたいと思ってました。
俺もどういうものを作りたいのかいまいちよくわからんけど、grid3dとpm3dの組み合わせとかでいいんけ?
それとも、
http://www.phyast.pitt.edu/~zov1/gnuplot/html/bargraphs.html の一番下のbargraphみたいなの作りたいの?
作りたいグラフっぽい図を示してもらった方が的を射た答が返ってくると思うよ
連投(´・ω・)スマソ 曲面の上と下のデータってどういう意味? grid3d使ったら、データはすべて曲面上に乗るんじゃないの?
>>519 >ばらついて分布する元データからdgrid3dで格子の曲面を生成し、
>元データがその曲面の上下どちらにあるかを分かりやすく示したい
といった利用方法を想定しています。
dgrid3dは格子ごとの平面を生成します。
まず、x, y座標からどの格子に属するのを知る必要があります。
これは、原点を考慮した割算とfloor関でできると思います。
また、格子の座標がわかるので格子の平面の方程式がわかり、それがわかれば格子上のz座標がわかります。
与えられたデータのz座標が格子上の
z座標より大きいか小さいかてでプロットをかえる三項演算子の実装をします。
文章でいうとこんなところです。
スクリプトにするには、色々考えないといけませんが、今のgnuplotのスクリプトの強力さを考えると実装できると思います。
>>526 >>517 は、こんなグラフを作るにはどうすればいいの?って疑問じゃなくて
こういう場合はどういうグラフにするのがいいんだろう?って疑問なので
どんなグラフがいいのか私も分かりません。
>>519 のやり方で対応することにします。
もしも、同じような疑問を持たれた方がいらっしゃいましたら経験を
共有して頂ければ十分です。
>>528 生データとそれを元に生成したgrid3dの曲面の両方を描画します。
生データとgrid3dの曲面はずれますので曲面の上下に位置することになり、
そのずれを見やすく色分け表示したいと思いました。
>>529 2次元の場合でも3次元も場合でも三項演算子の使い方は基本的には同じなんですね。
dgrid3dの曲面は式では与えられないので交点のデータから判定するための
条件を自分で記述する必要があるということですか。
方針はイメージできました。ありがとうございます。
$dataに格納されたデータにアクセスするコマンドって用意されているんでしたっけ? 配列のようにアクセスできれば理想ですが、そこまでできないにしても そもそも部分的にデータを取り出すにはどうするんでしょう? 私が知らないだけかも知れませんが。
$dataに限らずデータファイルでもいいんですが plot、splot以外から行や列を参照する方法ってあるんですか?
>>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
>>531 適当にマウスで回転させてスクショをとったのが下。
ようするになさりたいことはこのグリッドの上と下でマーカの種類や色を変える
ということですよね。
>>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
>>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"
>>538 statsで1行だけ読み込むとはすごい裏技です!
> よく考えたらimpulsesの根元が元データの分布を示していることに気が付きました。 そうか。これをつかえば、平面の方程式なんていらないし、 tableで書き出してみてデータ構造みてみて statsでデータを取り出していくとよいかも。
>>542 ちと勘違い。
impulsesはdgrid3dでは格子点に降りるのであった。
>>542 に書いたことは忘れてください。m(__)m。
>>511 開発版で対応してくれたようです。良かったですね。
テストスクリプトではかなり改善されていると思います。
>>544 ほんとですね!
対応してもらえると期待してなかったので感激です。
>>544 CVSに上げてもらえたのはうれしいんですが、CVSからダウンロードしてビルドは
やったことないです。
Windowsのコンパイル環境はcygwinとかが必要になるんでしょうか?ってレベルです。
やってやれないことはないと思いますが、悩む感じです。
「改善されている」と言うことですが、ざっと動作確認をして頂いたということでしょうか?
もし、そうであればそれで動作確認ができたと報告してしまおうかと。
>>544 It may need to be larger, however. とコメントがありましたが
軸とラベルの間の隙間は狭い(元のまま)のでしょうか?
この辺りは好みもあると思いますので、xlabelとylabelとzlabelでバランスが
おかしくなければといったとこですが、どうなんでしょう?
CVSのバイナリが公式ページに上がっているのを見つけました。 わざわざビルドして頂いたのでしょうか? テスト中です。
解決されているのを確認できました。 ただ、角度によっては目盛のラベルが軸に寄り過ぎている場合があるので 余裕があったらそこまでやってもらえるとうれしいといった感じで コメントしておきます。 ありがとうございます。
>>548 http://www.tatsuromatsuoka.com/gnuplot/Eng/winbin/ のことですか。
これは有志(私ですが)が定期的にwindowsバイナリをビルドして配布しているところです。
その他にもう一つ同じようなサイトがあります。
と思ったらリンクされてるだけでした。 開発の中心メンバーとして活躍されてるんですね。
Jane Styleに慣れてないのでミスしてばっかりm(__)m。
開発の中心にはいませんが,サポートメンバーの一人であることは確かです。 公式リリースの64ビット版のwindows版バイナリは私がビルドしたものです。 gnuplotは日本人がかなり活躍しているオープンソース系のプロジェクトの 一つです。’(ほかにもありますが)
私のパソコンで動いてるgnuplotをビルドして頂いていたとは存じ上げませんでした。 いつもありがとうございます。
>>546 遅レスですが,
>Windowsのコンパイル環境はcygwinとかが必要になるんでしょうか?
windows 上でビルドするには,
1.msys2上で,通常のwindows版をビルドする方法と
2.cygwinでcygwin版をビルドする方法
3.Microsoft Visual Cでwindows版をビルドする方法
があります。
3.は私がわからないので略。
以前は,2.のほうが楽だったのですが,msys2が登場し,充実してきたので,
今では,1と2では難易度はほとんど変わりません。
msys2上でのgnuplotのビルドは
>>465 をご覧ください。
zshみたいな感じで補完とか履歴にまつわる挙動カスタマイズできたりしないの?
>>560 ビルドインのreadlineを使うか、GNU readlineを使うかで違ってくると思う。
私は窓使いなのでビルトインのreadlineしか使えない。
昔に比べるとビルトインのreadlineの性能は良くなった。良くしたいならば自分でコミットするしかない。
GNU readlineはわからないが履歴の操作はある程度できるんじゃないかな。
その辺はGNU readlineを学ぶしかないと思う。
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で描写されない 何が間違っているのだろうか?
>>653 検証ありがとう
gnuplot-x11 をインストールしたら動いた
昔はgnuplot で行けたような気がしたが
type set to unknown
になるので -x11の方installで解決
>>564 x11 ターミナルは、昔からgnuplot-x11 がないと原理的に動かない。今は、wxtとかqtとかが主流だからx11はオプションインストールになったのかな。
>>560 >>561 ビルトインのreadline.c をちょっと読んでみた。
http://gnuplot.cvs.sourceforge.net/viewvc/gnuplot/gnuplot/src/readline.c?revision=1.64& ;view=markup
補完もヒストリもあるけど、ソース中のコメントにもあるようにGNU readlineのサブセットのようだ。
自分の使っているreadlineがどちらかを調べることから始めたらいかがですか。また、Unix上ならgnuplotのビルドさほど難しくないし、確かGNU のライブラリとdevをいれていれば、GNU readlineがconfigureで優先されるはず。
>>565 debian系は昔からGUI抜きで動くのがgnuplotってパッケージ
画像ファイルの出力に使う
x11なしの実行形式を出来るだけ作るのがdebian系の流儀で昔から変わらない
>>567 ubuntu 14.04
では、gnuplotでsynapticでインストールするとwxtがデフォルトのgnuplot-4.6.4がインストールされ、ついでにgnuplot-x11インストールされました。
interactive terminalなしのgnuplotは、gnuplot-noxでした。
Debianとubuntuでは違うのかな?
>>569 まあ、ubuntu 14.04のgnuplotは、古すぎるので自分でビルドしたものを使ってますが。
>>560 補完やヒストリーを設定するには、GNU readlineをリンクしてビルドするまたはしてあることが必要なようだ。
GNU readlineをリンクしてあればinputrcにカスタマイズを書くことができると思う。
私は、窓上ではxyzzy 上で動くwgnuplot-modeを
linux上ならならemacsのgnuplot-modeを使っているので
readlineのお世話になることがほとんどない。
>>572 質問が曖昧なのでなんとも言い難いですが。
これは、例えばプロットの四角形の領域を軸ラベルの設定などに影響されないようにしたいということですかね。
私もやりたいのですが、いまはターミナルのサイズを調整してやっている。
それなら私も教えて欲しいです。
>>572 >>573 gnuplot Q&A 掲示板 3182
を見てください。
set size ratio
と
set margin
を上手く使って下さい。
それぞれのhelpやマニュアルをご覧下さい。
100x + 200y = 5000が表す平面を描画するにはどうすればいいのでしょうか? zの関数としては記述できなさそうなので、どうすればいいか分からないです。
100x + 200y = 5000 は直線の方程式では?
X=100は点か?線か?面か? 3次元の話ししてんだからその式も面だろ
>>579 確かに面ですね。すいません。m(__)m。
また、媒介変数を使わないとgnuplotでは描けない面です。
一列分の数値列をプロットするときに、一行目の数値で全数値を割ったものをプロットすることは可能? ほんとは最大値で割りたいが、この場合はとりあえず一行目の数値が最大値であるとする
>>585 すみませんm(__)m。
バージョン 5からの機能と勘違い。
4でもあるバージョンから使えるよう。
お使いのgnuplotで
help stats
で確認してください。
>>585-586 こりゃ便利だな
ありがとう
昨日は結局自作関数を作ったが、今後はこちらを使おうと思う
複数のファイルに対応する場合は順番に読み込んで覚えるしかないのかもしれんが
2番めのプロット色が,デフォルトでdark-greenとなる方法を教えてください. あの見難い黄緑色が許せません
使用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ターミナル右上にある
使用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ファイルはそのまま使いたいため、何か良い方法はありませんでしょうか?
>>591 wxtの画像をスクリプトでpngには落とす方法はないと思います。
pngターミナルよりpngcairoターミナルの方が、wxtに近い画像が得られます。同じではありませんが、より近くなります。描画エンジンに共通のものを使っているので。
私はpngをバッチで生成するときはpngcairoターミナルを使っています。
数値データをファイルから読み取って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コマンドを打つ段階ではファイルの中身はわからないという前提で。
説明足りなくてすみません。 前者のデータでは線だけ,後者のデータならポイントだけ, というふうにしたいんです。 with linespoints にすると,後者はポイントだけになりますが 前者はポイントが線で結ばれる形になりますよね。
pointtypeのデフォルトってlinestyleとして定義するしか設定する方法ない?
5.0.6がリリースされました。windows バイナリもアップしました。
最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 アスペクト比による問題では無いと思います。
なんでしたら上記データを出力して頂ければ幸いです。
ただしく描写されれば、四角形3つでLのような形をしていると思います。
因みに、違う描写ソフト(paraview)にて出力した所、問題無くメッシュが生成されました。
あれ?アスペクト比と思ったけど、そもそもこのデータじゃ閉じないし、そのコマンドだと一筆書きじゃないか? 5.0.6ならそういう描き方できんの?
自分が調べた限り、どの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束目を追加すると何故かおかしくなってしまい、その理由を知りたく質問させて頂きました。
なるほど この書き方は本来四角形を作る為のものでは無いので 出力した際に意図しない形になってしまう事もある。 ということなら納得です。 座標郡をファイルに書き込み、gnuplotに四角形郡として読み込ませて出力、 という使い方をしたかったのですが、一番簡単だったのが上記の書き方だったので…。 ただ、今まで何回も全く同じ書き方をした座標データで四角形メッシュが問題なく 表示出来ていたので 何故突然今回だけダメになったのか、という疑問もありましてちょっとモヤっとしますね
最初の行を最後にも書いて全部で5行にすればいいのでは
物理実験で測定したデータを 近似直線と一緒に両対数グラ フで表示したいのですがcolo r axis has cb coord of 0; mu st be above 0 for log scale と表示され近似直線を表示 することができません。範囲 を絞っても駄目でした。どう すればいいでしょうか。ちな みに両対数グラフでない場合 には表示できました。
近似式なんだから、データによっちゃ定義域内で負になっちゃうケースも出てくるだろう 関数値がゼロ以下の時は十分小さな正数に置き換えるように関数の場合分けをすればいい
gnuplotで再帰使えたか自信ないけど、無限再帰になってない? f(x)=hoge g(x)=(f(x)>0) ? f(x) : 1E-8 試してないけど
打ったコードはこんな感じです 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 ! と出てきます
replotは前回のplotした関数を呼び出すから、一つ目しか描かれんのが当然 言い方が正しいかはわからんが、global に定義してないから、最後の関数はあらゆるxに対して定義されてるのでエラーが出る もう数年Gnuplot 使ってないから、仕様が変わってたらスマンコ
global に定義されてない→global にxの範囲が定義されてない
>>621 replotのところ、こんな感じか、
plot [1:10000][1:10000] "k.dat" using 1:2 title "較正直線"
, 10**(f(log10(x))) lt -1
>>621 k.dat
のサンプルデータを晒してくれ、こっちで動かしてみる。
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.
媒介変数表示した円と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
set zeroaxis の下に set multiplot と書いたら上手く行きました。 失礼しました。
gnuplot 5.2 rc 4が出ました。
Windowsビルドに問題があったのを
適当に自己解決していたのですが,正しい方法で解決したものが
rc4としてリリースされました。
ソース自体はrc3と変わりません。
windowsバイナリも一応作成しました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2%20release%20candidates/ gnuplot-5.0.7 がリリースされました。
5.0.xの最後のバージョンになる予定です。
Windowsバイナリもアップロードしました。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.7/ >>634 gnuplot バージョンナンバー を X.Y.Z
とすると
Xがメジャーバージョンナンバー
Yがマイナーバージョンナンバー
Zがパッチレベル
Yが
偶数がリリース版
奇数は開発版
現在の開発版は5.3
次のリリース版は5.2
となります。
Ethanさん(メインの開発者)によると8月末に
5.2.0がリリース予定
Linuxカーネルはそのルールやめたんじゃなかった? 2.x.0の奇数と偶数 最近はどれも一番頭の数字をガンガン上げるスタイルで気に入らない
Tick-tackモデルとかiPhoneモデルナンバーとか
>>639 Linuxはやめたけど、それが何か関係あるの?
同じデータ並びのファイルaaa、bbb、cccを同じ列で表示するのに plot "aaa" u 1:5 , "bbb" u 1:5 , "ccc" u 1:5 てやるの面倒なんだけどもっといい方法ないですかね? plot "{aaa,bbb,ccc}" u 1:5 みたいにできたら楽なんだけど
>>641 >>639 はもしかしたら "GNU"plot と思ってるのかもしれない。
GNU/plot <=> GNU/Linux
そっくりんこ。
だからこそ,
GNU/Linux のバージョン管理と,
gnuplot のそれとを,
同じシステムと思ったのかも
知れない
>>642 今更だけどplot forでいいんだよね?
あるファイルのデータをプロットするときに、正の値を○、負の値を☓で表す方法はあるでしょうか。
>>650 linespointsじゃなくてpointsでいいなら正のデータファイルと負のデータファイルに分けてそれぞれ異なるpointtypeでプロット
>>651-652 ありがとうございます。
三項演算子でできました。
元々は w lp でやるつもりでしたが、とりあえずこれでやっています
plot "hogehoge" with lines ってやった時、hogehogeにデータが1点分しかないとなにも見えない。 大きさのない点なのかな? 複数点の時は線だけで、1点のときは自動的にpontsに切り替えるとか、 見えるように出来たらいいなあ。
誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 EUJFW4437U
>>655 レスありがとうございます。
複数点の時は線だけにしたいんです。
デリミタを自動判別する機能ってないかな いっそ自分で作るか
空間に直線が引く方法がどうしてもわかりません… x=0,y=1で直線引く方法ってないですか?
手元にないので確認出来ないけどsplotは媒介変数って使えないんだっけ? plotではx=1とかでそれ使えた気がする データ作って表示させても良いような…
>>658 set datafile separator
でいかがですか
>>662 datafile separator
は複数指定できるので、それを使えばいいのては?
>>660 splotても媒介変数はつかえますよ。
だってさ
>>659 x=0,y-1,z=t ,tの範囲設定で考えれば行けるんでは?
☆ 私たち日本人の、日本国憲法を改正しましょう。現在、 衆議員と参議院の両院で、改憲議員が3分の2を超えております。 『憲法改正』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
>>469 windows/Fonts をcygwinのfontconfigが見るようにする、もっと簡単な方法がありました。
ln -s /cygdrive/c/Windows/Fonts /usr/share/fonts/windows
として
fc-cache -fv
とする。
ごめんこのスレで聞くにしては失礼なんだけど、 最近の新しいグラフ描画ツールってなにかない? 例えば3DレンダリングでGPU使ってくれるとかさ。
>>672 octaveのグラフィックツールキットのqtとfltk が、openglを使っているので、環境によっては、gpu使用になる。
There's now a build of gnuplot 5.2.3 for Mac OS X at
http://ricardo.ecn.wfu.edu/pub/gnuplot/ Here is an alternative version of Gnuplot 5.2.3 compiled for OS X:
https://csml-wiki.northwestern.edu/index.php/Binary_versions_of_Gnuplot_for_OS_X It includes the GNU readline functionality and also has the PDF terminal (which, even though deprecated, works very well and is widely used).
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 U2OOD
gnuplot5.2.4がリリースされました。バグフィックスのための緊急リリースです。
いつも乙です たいていこのスレでバージョンアップを知るので助かってる
gnuplotすごく重宝してるけど、唯一許せないのは スクリプトにした時とかに結果を標準エラー出力に掃き出すこと。 なにをどう考えてそういう挙動を実装したんだ? もちろん set print '-' で出力先を標準出力にできるのは知っているけれど 既定が標準エラー出力なのは納得いかない。というか嫌い。
永らくgnuplot最高と思ってたけど、最近jupyter notebook使いだしてこれで十分な気がしてきた 少なくとも普段使いとしては
>>680 stderrにしないとバッファリングの関係でうまく使えないケースがあるって話を
前世紀のネットニュースcomp.graphics.gnuplotでやってたような…
msdos用か旧mac用か…思い出せない
>>682 へぇ〜。と思ってちょろっと探したけどそれらしい発言が見付からんな。
誰かソース持ってない?
シェルのreadコマンドのように、値を標準入力からセットするコマンドってないですか?
どういうことしたいかいまいちよくわからんが、プロットしたい値を入力したいということなら、多分ある
>>686 バッチ処理中に標準入力を受け付けて,その値でプロットなどを作成したいと
いうことですか。
普通にやったらたぶんできない。
>> 689 以下ならできる。 初期化ファイル "header" の後、対話型モードを起動し、 その後別のコマンドファイル "tailer" を実行する: gnuplot header - trailer
何回もすまん。 上の例は 特別なファイル名 "-" は、コマンドを標準入力から読み込むことを意味します。 を使っているにすぎない。
>>686 >値を標準入力からセットするコマンド
ってのが何を意味してるのかいまいちわからんが
君のやりたいことは多分できる
もうちょっと詳しく書いてくれれば
親切な人が答えてくれるはずだ
5.2.4 windows バイナリ で
リンクしたfontconfig(Ver. 2.13.0)バグがあり,
gnuplotにバグが生じていました。
(日本語のロケールではこのバグはでない。)
https://sourceforge.net/p/gnuplot/bugs/2069/ https://sourceforge.net/p/gnuplot/mailman/message/36410314/ 依存ライブラリをアップデートしてfontconfigをVer. 2.13.1
にしたところバグはfixされたようです。
アップデートしたバイナリがあがっているようです。
引用する 現在のパスワード
???????
bump PATCHLEVEL to 5.2.5a in anticipation of release 5.2.5 next month
https://sourceforge.net/p/gnuplot/gnuplot-main/ci/5d6c57f66176786893fe02eb5d5b317877877d0d/ ということで,もうすぐ5.2.5がリリースされそうです。
gaussianのcube形式ボリュームデータと言って分かる方いますか。中身テキストです。 gnuplotでこれを読んで等値面とか表示出来ると手軽で良いんだけど、そう言う拡張を誰か作ってないですかね?
PyMOLは一度試したけど、色々とコマンドや設定を覚えないと使えなくて、うーんって感じだった。 でも、バッチ方式、set 何々方式って意味でPyMOL は gnuplot と同じか。 使ってるうちに慣れるかな。
>>703 ググってみた。
cube2xyz: convert cube data to xyz and slize segments/planes
http://larrucea.eu/cube2xyz/ Pythonのスプリプトみたい。
>>706 つづき
このページのグラフは掃き出させたデータをguplotで処理してるっぽい。
昨今AIとか機械学習が持て囃されてるけど、gnuplotはそのブームに乗れてますの?
>>708 gnuplot はあくまでプロットソフト。機械学習とかなら、python などを使えばいい。
gnuplot はプロットソフトとして進化し続けている。
私は、gnuplot はそれでいいと思っている。
>>709 > gnuplot はあくまでプロットソフト。機械学習とかなら、python などを使えばいい。
そうだよね。
gnuplot は unixy であるべきと思う。
python は太り過ぎ。
チューリング完全な言語が太り過ぎ(複雑過ぎってこと?)でunixyじゃないってのは違和感があるなあ
ennhanced テキストでのフォント指定で空白あるフォント名が使えない問題がありました がフォント名をシングルクォートで囲むことで使えるような変更が開発版でありました。 リリース版はgitのリリース版ソースは変更されているので5.2.7(5.4になるかもしれませんが)で での対応となります。
>>680 遅レスすまぬ。理由が分かったのが昨日だから。
>スクリプトにした時とかに結果を標準エラー出力に掃き出すこと。
>なにをどう考えてそういう挙動を実装したんだ?
https://sourceforge.net/p/gnuplot/bugs/2126/ Writing non-graphics content to stdout would break use of gnuplot as a filter.
For example:
GNUTERM=postscript myprogram | gnuplot > result.ps
GNUTERM=svg myprogram | gnuplot > result.svg
だそうだ。
すなわち,標準出力してしまうとフィルターしてgnuplotを使えないからだそうだ。
納得するかどうかはしらんが。
Gnuplot はユーザーはwindows 版が圧倒的に多いけど、開発はlinux 上でおこなわれているからなあ。unixyになるわな。
Macにaquaterm込みで導入したいんですけどaquatermのアプリはインストールしてるのに gnuplotのインストールで認識されなくて困ってるんですが原因はなぜかわかりますか?
>>717 Mac user じゃないからよくわからんが、mac でも最近ばqt とかwxtとかを使うのではないかな。
>>717 gnuplotのプロンプトで set term と打ってaqua がでてくるのかな?
>>718 バージョンはMojaveです
デフォルトだとqtなんですけどネット見るとみんなaquaterm入れてる感じなんで真似しているんですが上手くいかない感じです
qtでも問題ないですかね?
>>719 homebrewでインストールしようとしたんですが、aquatermのappはインストールされているのにも関わらず―with-aquatermのオプションが無効になってる感じです
>>722 それは昔の話で今はwxtが主流だと思うぞ
>>723 それはWindowsの場合ですか?
Macではqtでも大丈夫ですか?
gnuplotはlinuxで開発されていて、linuxではqtがデフォルト。qtで問題ない。
>>724 Macでbrew経由wxt使ってる。
大昔はAquaTermだったけど、綺麗さの差は感じない。
何より画面に出力するのはあくまでプレビューで最終出力は適宜PDFとか画像とかにしてるし。
qtは使ったことないからわからんが好きなもの使えばいいよ
windowsでは、qtはこったプロットで表示に難ありで、wxtがデフォルト。ただし、windowsでは、windowsターミナルもちゃんと最近gnuplotの進化に対応している。aqua ターミナルは知らん。
みなさんの指摘どおり上位互換があるみたいなので古いのに深入りするのはやめます どうやら私が情弱だったみたいですね ありがとうございました
>>729 gnuplotを使う人は結構ここみるので,あなたの質問への質疑応答が
これからmacにgnuplotをインストールする方への有用な情報となった。
>>725 これまじ?wxtだと思ってた
Qtって何か好きになれないんだよなー
もっとスリムにしてくれよと
>>733 実はgnuplotは現在なにもしていしないで、フルビルドするとどんなプラットホームでもqtがデフォルトだ。windowsはビルド時にオプションでwxtにしている。
私もqtが好きではないのでlinuxては.bashrcで
export GNUTERM=wxt
をやってる。
>>736 Windowsバイナリをアップロードしました。
Changes in 5.2.7 ================ * NEW "set pm3d noclipcb" will skip drawing quadrangles with color < cbmin * NEW pm terminal supports utf8, dashed lines, bold/italic text * NEW imaginary component of array values is available to "using" in column 3 * NEW gnuplot --slow may help use of qt terminal with slow system font server
* CHANGE splot "with points pt 0" acts like "with dots" * CHANGE (tikz) improved default interpretation of gnuplot arrowhead style * CHANGE teach hidden3d to handle double-headed vectors (arrowstyle "heads") * CHANGE "unset title" or "reset" resets all title properties to default * CHANGE font names passed to enhanced text processing may be in quotes * CHANGE cairo terminals accept fractional font sizes * CHANGE "plot with table" does not output trailing field separator * CHANGE better centering for clustered histograms * CHANGE clear STATS_* variables before performing analysis * CHANGE cairo, libgd, and svg terminals handle LT_NODRAW by not drawing at all * CHANGE svg terminal clickable icons are in-line data rather than external refs * CHANGE revise space allocated for ylabel; allow text justification for ylabel * CHANGE reduce overhead, making it feasible to have 10^6 hypertext labels
* FIX "plot with table" unnecessarily limited string column output to 60 chars * FIX (windows) make sure graph window is shown even if the program is "hidden" * FIX hidden3d mode was not correctly dealing with arrowstyle backhead * FIX sprintf in 'using' spec must not clobber numeric locale * FIX tikz - request for polygon with 0 vertices could hang terminal * FIX lua/tikz - do not attempt to ftruncate output being piped through stdout * FIX tkcanvas - do not attempt to ftruncate output being piped through stdout * FIX handle NaN values in input stream to "stats FOO matrix" * FIX prevent extra read past the end of a datablock holding matrix data * FIX pm - issues in box and polygon fill, (wide) lines, enhanced text, images * FIX dropped character in piped input stream if plot window is manually closed * FIX extraneous dots and potential segfault from splot with contour labels * FIX boxplots - color sequence correctly starts with specified linetype * FIX incomplete initialization led to segfault from "gnuplot -c foo.gp baz" * FIX Allow "pm3d depthorder base" to handle 3D quadrangles with logscale z
5.2.7のNEWSの和訳 5.2.7 での変更 ============== * 新規 "set pm3d nolipcb" は cbmin より小さい色の四辺形の描画をスキップ * 新規 pm 出力形式で utf8, 破線、ボールド、イタリック文字列をサポート * 新規 配列値の虚数部分を "using" で 3 列目として使えるように * 新規 遅いシステムフォントサーバでの qt 出力形式用に gnuplot --slow
* 変更 splot "with points pt 0" が "with dots" 同様になるように * 変更 (tikz) gnuplot の矢先スタイルのデフォルトの実装の改良 * 変更 hidden3d で双頭のベクトル (arrowstyle "heads") を処理するできるよう * 変更 "unset title" や "reset" でタイトル属性をすべてデフォルトに * 変更 拡張文字列処理に渡すフォント名を引用符に入れれるように * 変更 cairo 出力形式で非整数のフォントサイズ指定を可能に * 変更 "plot with table" が引き続くフィールド分離子を出力しないよう * 変更 積み上げ型ヒストグラムの中央揃えの改良 * 変更 解析の実行前に STATS_* 変数をクリア * 変更 cairo, libgd, svg 出力形式で LT_NODRAW を何も描かないように処理 * 変更 svg 出力形式のクリック用アイコンを外部参照でなくインラインデータに * 変更 ylabel 用のスペースの改善と位置揃えを可能に * 変更 10^6 ものハイパーテキストラベルを持てるようオーバーヘッドの削減 * 変更 とても多くの fig 出力形式の改善
* 修正 "plot with table" の文字列出力の 60 文字への不必要な制限 * 修正 (windows) gnuplot が隠れていてもグラフウィンドウが見えるように * 修正 hidden3d モードが arrowstyle backhead を正しく処理していなかった問題 * 修正 using 内での sprintf は数値ロケールを必ず壊さない * 修正 tikz - 頂点 0 の多角形を要求するとドライバがハングしていた * 修正 lua/tikz - stdout へのパイプ出力の際に ftruncate しようとしてなかった * 修正 tkcanvas - stdout へのパイプ出力の際に ftruncate しようとしてなかった * 修正 "stats FOO matrix" への入力列の NaN 値の処理 * 修正 matrix データを保持するデータブロックの最後に追加入力を通さないよう * 修正 pm - 箱と多角形の塗り潰し、広い線、拡張文字列処理、画像等の問題 * 修正 描画ウィンドウを手動で閉じた際にパイプ入力の文字列が落ちる問題 * 修正 等高線ラベル付きの splot での無関係のドットと内在的な segfault の問題 * 修正 boxplots - 指定した線種で正しく色列が開始するように * 修正 "gnuplot -c foo.gp baz" で不正な初期化が segfault を引き起こす問題 * 修正 "pm3d depthorder base" で対数軸の z で 3D の箱の処理を可能に
結構,変更,修正があります。バージョンアップできる人はした方がいいでしょう。
データファイルの何列目を使うかを変数で指定したくて a=2 plot "foo" using 1:(column(a)) とやると、using 1:2と同じでうまくいくんだけど、aをxにするとあたかも using 1:(column(0)) かのように振る舞う。yなら問題ない。 xという変数名自体に何か特別な意味ってありましたっけ?
x はgnuplotではx軸の変数。 例えば plot x -x**3 splotではx, y になる。
plotでは通常xは特別。parametricではtは特別。 splotでは通常x, yは特別。parametricではu, vは特別。
internal use; post-5.2.7 but not yet a release candidate for 5.2.8
https://sourceforge.net/p/gnuplot/gnuplot-main/ci/dd73aeb3fbcb60bc5788339aff31928d0ad241b9/ git のstableで Bump version to 8alpha というコミットがありました。
あくまで内部的なものなのでこれが次は5.2.8であるというわけではないのですが
5.4でなく,5.2.8がでるのでしょうか?
多数のファイルのN列目を表示したいとき、plot "file0" using 1:N, "file1" using 1:N, ・・・ってつらつら書く以外に楽な方法ないかな たとえばワイルドカードみたいなの使えて plot "file*" using 1:N とかできたら便利なんだけど
5.2.8がでたよ。5.2では最後らしい。windowsバイナリは遅れるよう。
windowsバイナリもアップされています。失礼しました。
plot forってめんどくさい シェルみたいに"file*"だけで処理できたらいいのに
重ね書き順とかに拘りがないなら plot "<cat file*" で良さそうだけど
>>759 だと全部くっついて1個のグラフみたいになった
やるとしたらこんな感じかな
p for [f in system("ls file*")] f t f
もう少しスマートにできたらいいのだが
目盛り線の入れ方,set xticsとかで目盛り間隔指定できるけど, x軸をn分割して目盛りを入れるみたいなことってできますか? 例えば,x軸が0〜10のとき,「4」を指定したら2.5,5,7.5に目盛りを打つ, 「20」を指定すると0.5ごとに目盛りを打つとか。 なんでこんなことがしたいかっていうと, 大量の数値データからスクリプトで大量のグラフ作ってepsに出力, TeXに食わせて最終的にPDF化してます。 数値データはいろんな種類があって軸の範囲はautoscaleに任せるんだけど, デフォルトでplotすると目盛り間隔が狭すぎたり広すぎたりするから, 軸の分割数を統一できるといいなあと思う次第で。 なんとなく簡単にできそうな気がしてマニュアル見たんだけど, 自分で見た限りだとそんな機能なさそうでした。 やるとしたら一旦ダミーでplotしてGPVAL_X_MIN/MAXとか 使って計算するしかないかな。めんどくさいけど。
何その用途ならgnuplotじゃなく、今ならpythonとか使った方がいいんじゃない? 仮にそれが解決しても、また不満が出てきそうだけど…
pythonでgnuplotのスクリプトを吐けば解決
>>762 はpythonかわかんないけど
スクリプトでやってるんじゃないの
その上でgnuplotの機能自体でできないか
って聞いてんだと思うけど
答えとしては結局スクリプトでやるのが
正解だと思うけど
こんにちわ。
なんと、「算術平均」の拡張版ができました。こちらをご覧ください。
http://www7b.biglobe.ne.jp/ ~river_r/bm/AveRage.html
Vimにデフォルトでシンタックスハイライトがない言語gnuplot
Windows版 5.2.8の3次元図での問題。 マウスでドラッグすると座標軸が多数表示されて重なってしまう。 これってバグ? それともパラメータ設定で回避できるの? ver4.xあたりではこういう問題は発生してなかったと思う。
誰か答えてあげて うちとこはWindows版使ってないからわからない
splotをPNGとかの2dイメージではなく 3dでfile出力する事って可能ですか?
set xlabelとかで、ラベルの途中に改行を入れた時の 行間というか改行幅って調節できるんですかね? 2行目以降をset labelで細かく位置を調節すれば 色々自由にできるとは思いますが、 ちょっと行間を詰めたいだけなので、 簡単に設定できると嬉しいと思いまして。
とあるスクリプトからパイプでgnuplotにコマンド送ってイメージファイル作らせたりしてるんだけど、Ctrl+Cで中断させようとすると、スクリプトは終わるのにgnuplotは終わらずにエラーメッセージ吐いたりする。 gnuplotがSIGINT受けても止まらないせいだと思うんだけど、何かの設定で止まるようになんないかな。 ソース眺めてみたけどよーわからん。 OSはLIinux。 って誰もみてないか。
おお、ありがたや。 perlの例だけど、openでgnuplotにパイプをつないで、 コマンドとインラインデータを流し込む。 例えばこんな風。 ↓
for my $k (1 .. 200){ my $file = sprintf 'file%03d', $k; my @xdata = (1 .. 300); my @ydata; push @ydata,rand 1 for(0 .. 300); open my $fh, '|-', 'gnuplot'; print $fh <<EOD; set term postscript eps set output "$file.eps" plot "-" w l EOD for my $i (0 .. $#xdata){ print $fh "$xdata[$i]\t$ydata[$i]\n"; } print $fh "e\n"; } プロットするデータはここでは乱数で作ってるけど 実際は実験データとかを取り込んだもの。
あら、インデントは消えちゃうのね。 ひと組300行のデータからイメージファイルを作って、 それをループで回して200回も繰り返すからそれなりに時間がかかって、 途中でCtrl+Cで止めようとするとperlは止まるんだけど、 gnuplotは止まらず混乱?してplotのインラインデータ部分を コマンドとして解釈してエラーメッセージを出したり、 タイミングによってはepsファイルに行くべき文字列が stdoutに出てきたりする。
再現しないよ 783を例えばhogeというファイル名で保存して $ ./hoge 途中,Ctrl+Cするとgnuplotも止まる
ゴメンゴメンperlが止まってエラーが出てないだけだった 外側のfor消して300の乱数データを時間が掛かるように適宜大きくしたら 以下のようなエラーが出た ... gnuplot> 168373 ^ line 160265: invalid command gnuplot> 168374 ^ line 160265: invalid command ...
Androidに移植されたgnuplotいくつかあるみたいだけど、使ってる方でおすすめのあります? 以前は、Droidplot + android terminal emulator つてのを使ってたけど、ずっと更新されずAndroid9ではgoogle playに出てこなくなっちゃった
神ツールgnuplotが末長く神ツールでありつづけますように
制御構造入れたプロットをしたいなら スクリプトからgnuplotに食わせるより、雛形だけepsに吐かせてpsコードで書いた方がずっと楽よ 行列演算も組み込みだし数値扱うなら多分perlより使える言語
データ読み込みから画像生成までpostscriptに任せられるのはtsv/csvまでだな readline、substringで分割、cvr(conv to real)、dict/arrayに突っ込むだけ 10/16進数値以外は読めないので汚いデータはpsのregex(要外部ライブラリ)とか使うより前処理した方が楽かと あとgnuplotのようにlatex記法をサポートしてないので、gnuplotの吐くepsから拾うか、 ./makeplot.ps dat1 dat2 ...のように動的に数式を生成するコマンドにしたいなら、psからgnuplot -eやtexコマンドを外部呼び出しして出力を読み込むか あれ、意外とめんどくさそう…
逆にgnuplotをpsライブラリだと捉えよう、手動でスタイル合わせるより馴染むし gsなら%pipe%cmdがファイルハンドル返したり%stdin, %stdout使えて楽
gnuplotでもpython matplotlibでも最近はsvgはかせる。 svgならブラウザでviewできるし。仕上げはinkscape。
1/3ごろ gnuplot 5.4.3 がでてます。 数時間Windowsバイナリもアップされています。
パラメータ変えてplotコマンド打っても描画が新しくならないんだけど、なんでだろ?
>>796 debian sidでgnuplot-x11の方です
gnome41でwaylandな環境なんてすが
同じlinuxなでもxfce4にxorgのマシンだと問題ないんです
waylandのせいかと思うんですが。
まぁ使えないわけじゃないけど、微妙に使い勝手悪いです。。
>>797 wxtターミナルではどうですか?
x11やqtターミナルはドライバープログラム(gnuplot-x11やgnuplot-qt)
が描画するけど
wxtはgnuplot本体が描画するから、違いがあるかも。
後,
Xと通信しない非対話型ターミナルではどうなんでしょう。
例えば
set terminal png
set output 'test1.png'
a=1
plot a*x
set output
set output 'test2.png'
a=2
plot a*x
set output
はちゃんと動作しますか?
>>798 ありがとうございます。
起動するとデフォルトがwxtで、そちらだとたとえば
gnuplot > plot sin(x)
でサイン関数が描画され、次に
gnuplot > plot cos(x)
と続けて打ってもサイン関数のプロットのままで
ウィンドウがアップデートされません。
ウインドウをグラブして拡大したりするとアップデートされます。
terminalに関しては試してなかったので、
termをx11にしたところ、上の例だとcos(x)を新たにプロットするとちゃんとウインドウも再描画されました。あとpngとかpostscriptでも問題ないので
どうやらwxtの問題みたいです。
debianとかgnome4x系になってまだ間もないのでなにかのバグの可能性もあると思いましたが、他に報告が無いみたいなので自分の環境のせいかもしれないです。
とりあえずtermがx11だと問題ないのがわかったのでそれで使っていようと思います。
ありがとうございました、助かりました
replotでも再描画されないです ウインドウの属性が変わらないとアップデートされないので、gnomeのバグかもしれないです
gnuplot-qt on Debian bullseye は大丈夫だよ
最新のtestingのisoを使ってsidにクリーンインストールしたんですけど、qt版はたしか動かなかったです。基本、bullrsdys+って感じだと思います。 他のtesting入れてるマシンではqt版使ってて問題なかったので、試しにx11版に変えてみましたが、問題なしです。 こっちのマシンはずっとtestingで運用してるのでdisplay protocolはxorgのままです。 なんかwaylandとgnome4x系の問題な気がしてきました。
linuxはあまり使わないのでよくわかりませんが、linuxなら開発者のEthan氏が勧めるようにqt ターミナルがいいと思います。 動かないなら仕方ないけど。 linuxなら自分でビルドするのもそれほど苦ではないと思うのでqtターミナル、トライできないかな?
windows11,WSL2,WSLg,gnuplot-5.4.3で qtだと文字列の末尾が数字の1だと表示がずれる wxtだと閉じるボタンだけで最大化、最小化ボタンが表示されない 原因がわかる方いますか?
色んな出力対応してるんだから片っ端から試して上手く動くの使えばいいよ、プレビュー用途ならなおさら
こんなんあるんですね。知らなかった。つかって見よう。
A Jupyter/IPython kernel for Gnuplot
https://github.com/has2k1/gnuplot_kernel >>806 状況がよくわかりません。wslならgnuplotはlinuxアプリですか?
それともwindowsアプリをwslのterminal上でつかっているのですか。
状況を再現するコマンドやスクリプトを書いてください。
>>806 qtの方は意味不明のままですが、wxtの方はwxtターミナルのプロットウィンドウの右上部に並ぶ
− □ × (それぞれ「最小化」、「最大化」、「閉じる」の動作を)ボタンのうち−、□(最小化、最大化)ボタンが表示されないということかと。
>>806 gnuplotは5.4.3 のlinuxバイナリということで、windows11,wsl2,wslgだということですね。
gnuplotの問題なのですか?wslgの問題かも知れません。VcXsrvもいれてみてこちらでも試してみてはいかがでしょうか。
Windows上でのpngcairoターミナルでフォントの表示の乱れがbug ticketに上がっています。
# pngcairo: uppermost pixel in key, label etc missing
https://sourceforge.net/p/gnuplot/bugs/2512/ # Bad kerning with pngcairo and gnuplot 5.4.1
https://sourceforge.net/p/gnuplot/bugs/2397/ どちらもpangoライブラリが関係しているようです。
Ethanさんはpangoのフォントやバージョンを変えてみればいわれたので
色々なバージョンpangoをビルドして、ライブラリ置き換えてみましたが大きな改善はしませんでした。
また、windows上のpangocairoは既定ではWindows nativeのバックエンドを使っています。
環境変数PANGOCAIRO_BACKENDをfcにセットすることにより、バックエンドをfontconfig
にすることができます。
この作業がworkaroundとして現状有効の様です。
brewからgnuplotインストールしたいんだけど、4時間以上やってもまだ終わらない 異常?正常?
うちの環境Macだけど確か1日くらいかかった なんやかんやライブラリ、アホほどインスコされたよ
プロットするデータの個数によって、with linesとwith pointsを自動切換えできないでしょうか? 多くのデータファイルから自動で2Dプロットを作成しています。 基本的には plot "file.dat" with lines でスッキリした線だけのプロットを描くのですが たまにX,Yのデータが1組しかないファイルがあり その場合プロットが目に見えない点だけになってしまいます。 そこでファイル中にデータが1組しかない時は plot "file.dat" with points に自動的に切り替えてくれるとありがたいです。 設定やplotコマンドの書き方でなんとかならないでしょうか? もしくは、データファイルの書き方で1組のX,Yデータでも 目に見えるポイントを出す方法があればそれでもいいです。
>>818 無いな
スクリプト組んで記述を変えるのが正解だと思う
そっかー マニュアル読み込んでみても確かにできる気がしない
あるいは with linespoints とか?
>>818 stats とif でできるかな。
データがないときはSTATS_recordsはUndefined になることに注意して
(インデント消えるとおもうから,適当に足してくれ)
stats 'data.dat' nooutput
if (STATS_records == 1) {
plot 'data.dat' with points
} else {
plot 'data.dat' with lines
}
statsうまくいきました!ありがとう! 統計情報なんて気にもとめてなかった。 ちなみにデータない時はエラーになって、STATS_recordsは元のままですね。 (初回ならundefined) 米澤先生のサイトはブックマークしてあったけど、忘れてた。。。
5.0系だとログスケールの時にstatsがエラーになるという謎仕様。 5.2以降だと大丈夫みたいだけど、うちの環境だと使いたい端末がインストールができないorz ところで5chの仕様変更でのせいか輪をかけて過疎化してるね
>>828 > 5.0系だとログスケールの時にstatsがエラーになるという謎仕様。
そうなんですか。しかし,5.0系とは懐かしいですな。
> 5.2以降だと大丈夫みたいだけど、うちの環境だと使いたい端末がインストールができないorz
5.2でインストールできない terminal なんてなんでしょう。5.2でdeprecateになったterminalなのでしょうか。
>>830 あ、ウチ環なので一般的な話じゃないです。
LinuxやらSolarisやらMacやら、OSバージョンも複数あって
インストールされてるライブラリもまちまちで
どのマシンでも同じバージョンのgnuplotを動かそうとすると
ライブラリが足りなくてmake失敗したりとか。
今んとこ全部のマシンで成功したのが5.0系というだけの話。
set term qt widget <id> の<id>って何を指定すればいいのかな? 他のアプリのウィンドウに表示できそうなんだけど違うのかな? マニュアルみてもよくわからない。 x11なら set term x11 window "<string>" でウィンドウIDを指定すれば別アプリに表示させられるから Qtでも出来そうな気がするんだけど違うかな。
そんな機能があったのね douyatte使うんだ?
じぶんはTcl/TkのGUIアプリでウィジェットにgnuplotを表示させてます。 んでTkのscaleをぐりぐりするとグラフがぐりぐり動きます。 Tkinterならwinfo_idで出来そう
5.4.4beta (5.4.4 のプレリリース)が出てます。 しばらくしたら,正式に5.4.4がリリースされるでしょう。
>>841 5.4.4 の変更Gnuplot Q&A 掲示板を見てください。
New gnuplot subsystem "watchpoints"
開発版で実装されます。
gnuplot beta MLの当該ポストのアーカイブのURLです。
https://sourceforge.net/p/gnuplot/mailman/message/37703162/ ↑途中で失礼しました。
>>845 この実装をONにした開発版Windowsバイナリを以下に置いてます。
demo ディレクトリ下の watchmouse.dem, watchpoints.dem を実行してみてください。
>>849 watchpoints.demの結果をpdfにしてみました。
(watchmouse.demはマウスを動的に使って試すので略)
http://tmacchant33.starfree.jp/Files/watchpoits.pdf ある数値aとbがあるとき、a±bを横長の帯として表したいんだが、どうしたらシンプルに実現できるかな? 0 a b 0.1 a b ... というファイルを作ってwith filledcurveでプロットすればそれらしく見えると思うけど、中間生成物を沢山作りたくない
>>852 回答ではないかもしれないけどファイル作りたくないならデータブロックをりようすればよいのでは
$data << EOF
0 a b
0.1 a b
EOF
>ある数値aとbがあるとき、a±bを横長の帯として表したい 伝わらん
>>854 すみません
>>855 そうです
横軸をx軸と呼ぶことにして、
>>852 で書いた数値a、bはxによらないということです
で、xによらない定数値としてグラフに描画したいということです
定数aを描画したいだけなら plot a で良いのですが、これにエラーをつけるにはどうしたら良いですかと言い換えることもできます
sidのGnuplotなようやく修正されたぞ チラ裏
>>857 はい。
x軸方向のエラーバーではなく、y軸方向の定数値±定エラーバーを全てのxに渡って表示したいです
>>859 こういうこと?
$ cat data.dat
0 -1 2
0.1 -1 2
0.2 -1 2
$ cat plot.gp
set xrange [-.1:.3]
set yrange [-2:3]
plot 'data.dat' u 1:2:3 with filledcurves
pause -1
$ gnuplot plot.gp
>>860 そうです
任意の面積の塗り潰しがやりたいことです
>>861 860を実行すると塗りつぶした長方形となるんだが,やりたいのはそれなの。
yの値がxに依存する場合も考えるのかな?
x, yのデータが与えられてぬりつぶしの幅を簡単に変えたい。
データの第3列目に書くのは面倒。
こんなことでいいですか?
>>865 > 860を実行すると塗りつぶした長方形となるんだが,やりたいのはそれなの。
>>861 で申したように、そうです
それを中間ファイルを用意せずにやりたいということです
> yの値がxに依存する場合も考えるのかな?
>>856 ,859で申したように、yもエラーの幅も横軸に依存しません
> x, yのデータが与えられてぬりつぶしの幅を簡単に変えたい。
> データの第3列目に書くのは面倒。
> こんなことでいいですか?
いいえ
与えられるのは定数値a、bだけです
aはいわば中央値を、bはいわばエラーの幅を表します
これらは定数なので、xによりません
したがって、わざわざ
x y ye
なるフォーマットのファイルを用意するのが面倒だというのが
>>852 で申したことです
おそらく
>>860 は回答のつもりで「こういうこと?」と聞いていて、質問者
>>861 は見た目のつもりで「そうです」と言っているのですれ違いが起きている。
で、
>>861 の「任意の面積」とは流れを踏まえれば明らかに「任意の矩形」という意味だが
>>865 (
>>860 ,862,867あたりと同じ人だろう) は額面通りに受け取ってしまったばかりにxに依存する何かを想定している。
視点によっては回答者が文盲にも見えるし質問者が問題を抱えているようにも見えるのだろう。
>>869 は間違い。
ただ単にfiledcuvesと使うと中心がaにはならないみたいだがあとは自分でやってくれ。
# begin
a=-1
b=2
set print $data
do for [i=0:10] { print 0.1 * i}
unset print
set xrange [-.1:1.1]
set yrange [-2:3]
plot '$data' u 1:(a):(b) with filledcurves
set terminal pngcairo
set output '852_02.png'
replot
set output
set terminal @GNUTERM
# end
>>871 それはdataなるファイルを作ってるからお題にそぐわないのでは?
あと、ファイルを作ってfilledcurveする案で妥協するなら、わざわざ中間の点を打つ必要はないと思う 両端だけ決めてfilledcurveするので十分
>>872 , 873
>それはdataなるファイルを作ってるからお題にそぐわないのでは?
それはそうなんですが
外側にファイルを作らなければ実際上そう面倒にならない。
中間ファイルの役割をスクリプトの中に実現すために
データブロックがgnuplotに実装されたのだから
それを使って実現しても実際上そんなに問題でないとおもいます。
> 両端だけ決めてfilledcurveするので十分
それ書き込んでから気づきました。
中間ファイルが嫌ならスクリプトに含めりゃええがな
>>871 を書き換えるなら
$ cat plot.gp
a=-1
b=2
set xrange [-.1:1.1]
set yrange [-2:3]
set terminal pngcairo
set output '852_02.png'
plot '-' u 1:(a):(b) with filledcurves
0
1
$ gnuplot < plot.gp
5.4.5 のβリリースがでました。
https://sourceforge.net/p/gnuplot/mailman/message/37712536/ Changes in 5.4.5
================
* NEW "set key offset <dx>, <dy>" tweaks placement of the key
* NEW data-driven histogram colors (variable color from extra using column)
* CHANGE re-order drawing 3D labels to come after pm3d depthorder surfaces
* CHANGE hpgl: add terminal option "fontscale <value>"
* CHANGE for nonuniform matrix data, column(0) returns linear position in matrix
* CHANGE set pointintervalbox 0 disables drawing the background box Bug #2544
* FIX svg: hypertext font handling
* FIX track columnheaders of multiple data blocks in a single file Bug #2538
* FIX Clean up positioning of polar border, raxis, and theta tics Bug #2130
* FIX Autoscaling of logscaled raxis
* FIX memory corruption if a small plot structure is recycled Bug #2550
* FIX regression in 5.4.4 - promotion of string to integer should
should not assume that a leading 0 means octal Bug #2551
* FIX Windows qt: "pause -1" should not block mousing Bug #2549
重要なバグ修正があるので年末予定のスケジュールを早めてgnuplot 5.4.5 がリリースされました。
Windowsバイナリもアップロードされています。
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.5/ C++からデータをパイプでgnuplotに流し込むことを考えています 以下のソースはLinuxではうまくいったのですが mingwでビルドしてWindowsで実行するとうまく行きません (ソース分けます) #include <string> #include <cstdio> #include <memory> #include <ctime> #include <map> #include <cmath> using namespace std; using Series = map <double, double>; static const double pi (acos (-1)); static const double MIN (0), MAX (pi * 4); static const double INTERVAL ((MAX - MIN) / 100); static const double PHI (0); static const double OMEGA (pi / 8); static const double DURATION (2);
(続き) int main () { string gnuplot_path ("gnuplot"); FILE fp (popen (gnuplot_path.c_str (), "w")); if (!fp) return -1; fprintf (fp, "reset\n"); fprintf (fp, "set yrange [-1:1]\n"); clock_t time0 (clock ()); for (double second (static_cast <double> (clock () - time0) / CLOCKS_PER_SEC); second < DURATION; second = static_cast <double> (clock () - time0) / CLOCKS_PER_SEC) { Series series; for (size_t i (0), last ((MAX - MIN) / INTERVAL); i < last; ++ i) { const double x (MIN + i * INTERVAL); series.insert (make_pair (x, sin (x - PHI + OMEGA * second))); } fprintf (fp, "set title 't = %1.2f'\n", second); fprintf (fp, "plot '-' title 'sin' with lines\n"); for (const Series::value_type &point: series) fprintf (fp, "%f %f\n", point.first, point.second); fprintf (fp, "e\n"); fflush (fp); } pclose (fp); return 0; }
>>887 mingw gnuplotの5.4はpipeの扱いにバグがあります.
最近修正されたのですがリリース版修正されるのは次のリリース(5.4.6)になります.
5.2のgnuplotを使うか
890 途中でかきこんでしまいました.5.2.xを使うか5.5(開発版)を使うかです.
5.5(開発版)のバイナリは以下
http://tmacchant33.starfree.jp/gnuplot_bin.html >>890 ,891
有難うございます
試してみまするる
>>890 ,891
このあとエラーとgnuplotのバージョン情報を貼ろうと思ったのですが
昨夜は全然書き込めなくなりました
バージョンはご懸念の通り5.4 patchlevel 5になります
不完全な書き込みにも関わらず情報提供をありがとうございます
>>890 ,891
ビンゴでした
Windows版は5.2.8にしたら意図通り動作しました
(ちなみにLinuxで動作していたのはDebianのstableのやつで5.4.1でした
5.4系列でパイプに問題があるのはWindows版だけかもしれません)
不完全な情報からご回答を頂きまして本当に有難うございました
Windowsで tail -f hoge.gp | gnuplot のようにしたいのですが tail -fのように使えるコマンドってありますか? スレ違いのような気もしますが一連ってことでお聞きします
pwshで以下のようにして出来ました gc hoge.gp -tail 1 -wait | gnuplot
msys2 や busybox-win32 などを使うのも手だと思います.
>>897 有難うございます
なるほどmsys2にtailが入ってるだろうから
それでも良さそうですね
Gnuplot plans: the start of version 6
https://sourceforge.net/p/gnuplot/mailman/message/37747332/ ソースのクローンの方法
git clone -b branch-6-0-stable git://git.code.sf.net/p/gnuplot/gnuplot-main
なお,5.4.6は2023年初旬にリリースされるようです.
今年後半から開発版(5.5)に入ったwatch points, polar grid とfunction blockが入るのは
(途中ですみませんでした.) が入るのは間違いないでしょう.いずれも魅力的な改変です. 6.0.0alphaにはsharpenという機能が入りました.
現バージョンって、プロシージャ的なプロットってできるんでしたっけ? 新しく機能追加するならそういうのの気もする
プロシージャ的なプロットいう言葉がPython 的な関数ブロックで定義された 関数をプロットすることなら,最近開発版に実装されたfunction block ですね 6.0.0ではこれがリリース版で使えるようになります
6.0.0alphaのマニュアルのスナップショットを挙げておきます.
http://tmacchant33.starfree.jp/Files/gnuplot600alpha20221212.pdf p24のNew features in version 6
を見ると新しい機能がわかります.
>>905 さん
ありがとうございます。
自分が書いたプロシージャ的というのは、L-systemで表現されるみたいなルールベースのプロットという意味です
function blockを見てみましたがコードのモジュラー化みたいで、自分の思ってたのとは違うみたいでした。
でもこんな機能があるの初めて知りました
まぁ他の言語で数値を得て描画だけさせるという方法で可能だし、ソフトウェアの複雑化という意味で変な可能は実装しないほうが良いのかもしれないですが。
竹の先生のページに最新の開発版の情報が紹介されています
整理されて書かれていますのでぜひご覧ください
http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gpinfo-2023.html#info-20230125
>>909 関数いいな
もうgnuplotだけで立派なプログラム書けそうだな
CGライブラリの充実したスクリプト言語
CGに強いスクリプト言語としてpostsciptに勝つには、あとは関数型プログラミングサポート(高階手続き)や名前空間、評価環境だろうけど この辺の言語設計の基礎に手を入れると既存のスクリプトが色々壊れそうだから、やりすぎかね?
5.4.6が来週にはリリースされるようです.
5.4のいやバージョン5のラストリリースになる予定です.
https://sourceforge.net/p/gnuplot/mailman/message/37775397/ Changes in 5.4.6
================
* NEW set key {columns <exact no of columns>}
; set key {keywidth <exact width>}
* NEW XDG support
; startup file: $XDG_CONFIG_HOME/gnuplot/gnuplotrc
; history file: $XDG_STATE_HOME/gnuplot_history
; wxt configuration: $XDG_CONFIG_HOME/gnuplot/gnuplot-wxt.conf
* CHANGE remove "alldoc" build target
* CHANGE plot with polygons fillstyle empty really does mean empty
* FIX windows: various problems mixing piped input and stdin Bug #2491
* FIX x11: bad interactions of lt nodraw, bgnd and dash pattern Bug #2572
* FIX wxt: export-to-file widget should preserve line properties
* FIX svg: set initial default fill to "none"
* FIX png: back-compatibility with very old versions of gdlib Bug #2579
* FIX variable pointtype, pointsize in plot style yerrorlines
* FIX border color for polygons with variable fillcolor
* FIX definition followed by iteration in a plot command Bug #2580
* FIX parametric plot with filledcurves y1=<limit> Bug #1797
Gnuplot Q&A 掲示板 3537 に 5.4.6 のNEWSの訳読めます
5.4.6でXDGがサポートされましたが,wxGTK が2.8の場合うまくビルドできないようです.
https://sourceforge.net/p/gnuplot/bugs/2587/ 開発版では修正済みだったのですが5.4.6へのXDGサポートのバックポート時に
反映されていなかったようです.
というわけで5.4.7が出るようです
開発版のgnuplotをUbuntu(22.04)上でビルドする手順をまとめました
Debian系なら似たような手順を使えると思います
https://sourceforge.net/p/gnuplot/support-requests/282/ >>911 そりゃスクリプト言語としてはpostscriptの方が優れてるし、言語仕様もしっかりしててドキュメントも多い
しかし誰でも何となくで書けるalgol-likeな言語であることが何よりも重要なんだわ
>>911 >>918 gnuplotはスクリプト型のグラフ作成ソフトでpostscript言語とは目指してるものが違うように思います.
比べるならばpython のmatplotlibでしょうか.
私は勝負グラフはmatplotlibに移行しました.
ただ,通常のプロットはgnuplotが手軽で利用しています.
5.4.6 Windows バイナリにfontconfig 関係のファイルを含むようにしました. PANGOCAIRO_BACKENDをfontconfig(fc)に設定するときの警告をなくすためです
コルーチン、スレッド/プロセス管理、高階手続き、例外機構などpsの先進的だった機能もpython3系で追い付かれた感があるわな 当然エコシステムでも敵わないから、psの書き手はますます減りそうで寂しい
yieldとかあったな、本当に先進的 俺はgnuplotに吐かせたpsコードに引数処理、与えたファイルとストリームの読み書き、素直なデータのパースを書き加える程度 単に他の言語でラッパを書くとファイルが増えて面倒という理由だけど
皆さんpsの高度な機能使ってるんですね 自分は作成したらプリントするか、ベクター系のソフトで編集する位だけど、他の皆さんかどういう用途で使ってるのか想像つかないです
なるほど フラクタルとか、難しい数式をビジュアル化するとか面白そうですね
標準配布のgnuplot環境には大抵ps処理系(組み込み、gs等インタプリタ)が含まれてるから確かに昔は重宝したけ 今のPC環境なら選択肢は無数にあるから好きな言語選べば良いと思うけどね
開発版の新機能について竹の先生が紹介されています.
http://takeno.iee.niit.ac.jp/ ~shige/unix/gnuplot/gpinfo-2023.html#info-20230407
5.4.7testing がでました Changes in 5.4.7 ================ * FIX pseudofiles '+','++' must ignore "set datafile columnheader" Bug #2585 * FIX data from an array must ignore "set datafile columnheader" Bug #2585 * FIX various problems with unbounded plot iteration Bug #2589 * FIX allow plot ... smooth acsplines with filledcurves Bug #2592 * FIX "plot title at {end|beginning}" belongs in KEYSAMPLE layer * FIX handle empty string in last field of csv file * FIX Handle nonlinear axes during contour generation Bug #2593 * FIX yerrorbars key sample should match bars in the plot Bug #2598 * FIX "plot with table" must skip all smoothing operations Bug #2610 * FIX cairolatex/epslatex: prevent doubled text in opaque textboxes * FIX wxt: versions prior to 3.0 do not support XDG Bug #2587 * FIX wxt: fontscale and fontsize handling was inconsistent Bug #2373 * FIX tikz epslatex cairolatex: updated to work with TeXLive2023 Bug #2613 * FIX correctly report cardinality of an empty array is zero Bug #2616 * FIX ignore datafile separator when plotting from an array * FIX combination of pm3d options "at b" or "at t" with "depthorder" * FIX combination of 'autotitle columnhead' and 'using col("key")' Bug #2620 * FIX do not complain if XDG files are not found because no $HOME Bug #2623 * FIX windows terminal: arrow length corrected for aspect ratio Bug #2565
gnuplot 5.4.7 がリリースされました
https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.7/ これが今度こそ最後にVer.5のリリースとなり,次は6.0.0になると思います
`kittycairo` terminalが現在の開発版にくみこまれました +" The `kittycairo` terminal generates in-window output on terminal emulators", +" that support the kitty graphics protocol. The actual drawing is done via", +" cairo, a 2D graphics library, and pango, a library for text rendering.", +" The kitty protocol is an alternative to sixel graphics, with the advantage", +" of support for 24-bit RGB colors and slightly lower required bandwidth to", +" transfer the image data between computer and terminal in a remote session.", +"", +" Syntax:", +" set terminal kittycairo", +" {{no}enhanced} {mono|color}", +" {font <font>} {fontscale <scale>}", +" {linewidth <lw>} {rounded|butt|square} {dashlength <dl>}", +" {background <rgbcolor>}", +" {size <XX>,<YY>} {anchor|scroll}", +"",
+" This terminal processes labels and other text using enhanced formatting", +" by default. See `enhanced`.", +"", +" The width of all lines in the plot can be modified by the factor <lw>", +" specified in `linewidth`. The font size can similarly be uniformly modified", +" the scale factor provided by `fontscale`. For discussion of font and text", +" encoding options, see the `pdfcairo` terminal." +"", +" The option `rounded` sets line caps and line joins to be rounded;", +" `butt` is the default, producing butt caps and mitered joins.", +"", +" The size of the plot is given in screen pixels. By default each plot is", +" drawn starting at the current cursor position and scrolls with the terminal", +" text. `anchor` instead pins each plot to the top left of the terminal window.", +" This is useful for animation or pseudo-mousing using the keyboard", +" (see `pseudo-mousing`).",
5.4.8がでました.5.4.7でバージョン番号の扱いに誤りがあってその修正だけです.
[0:26+2/3]の範囲で - 0.4 * x + 48 と 64-x で囲まれた領域を描画したいです。 plot sample [0:26+2/3] 64 - x with filledcurves above - 0.4 * x + 48 fc "yellow" notitle と入力すると、 unexpected or unrecognized token: - というエラーが出てきます。どのへんがおかしいでしょうか
>>933 >unexpected or unrecognized token: -
なんてでないよ
>934 そうですか。私の環境のせいかもしれませんので、少し調べてみます。 ありがとうございました。
うちの環境は同じメッセージでたよ aboveと0.4の間のマイナスのとこだって
plot [0:26+2/3] 64-x with filledcurves x1 fc "yellow" notitle, - 0.4 * x + 48 with filledcurves x1 lc "white" notitle とかかな?
gnuplot-6.0.0 が2023の12月末にでています
今日は買い時じゃないか IDなしだから 昨シーズン運が良かったんじゃないのにあかんのに よくそんな意味でのコメント ありゃ最低や
>>938 multiplotの各プロットでreplotとかできるらしいのは良さげ。
ただTcl/TkとかでGUI作ってそっちにplotした方が柔軟性はある。x11限定だけど。
x11以外にもそういうこと(出力先を別アプリのウィンドウにする)できるのあるのかなぁ。
6.0.0のWindowsバイナリがリリースされました
6.0.1がリリースされました.Windowsバイナリもリリースされました.
ggplotに移行してたが matplotlibに再移行
2024/12/20 ごろ6.0.2がアップロードされました.Windowsバイナリもアップロードしています.
久しぶりにこのスレ見てみたら900番台いってるのな
gnuplot 6.0.3 がリリースされました.Windowsバイナリもアップロードされています
グラフをsvg形式で出力すると 毎回 set output "ファイル名.svg"で指定しないと出力されたファイルがエラーを起こしてしまうのですが 何か対処法はありますか?
意味が分かりません set outputしないとファイルは出力されないのでは?
すみません言葉足らずでした (諸々の設定とかは抜きで) set output "hoge.svg" plot "hogehoge.csv" と言った具合で出力すると思うんですが 例えば、ここからグラフのレイアウトを変えた後に 通常なら再びplot "hogehoge.csv"をしてしまえば、 出力ファイルが上書きされて、何の問題もないと思うのですが svgの場合はなぜか上書きされず、svgファイル内の末尾に追記する形で更新されてしまいファイルが壊れてしまうんです これを解決するには毎回plotする前に、set outputを行わないといけなくて結構不便で…… 設定かなにかで解決できるといいんですが、ご存知の方いらっしゃいませんかね
>>951 >例えば、ここからグラフのレイアウトを変えた後に
>通常なら再びplot "hogehoge.csv"をしてしまえば、
>出力ファイルが上書きされて、何の問題もないと思うのですが
その出力ファイルが上書きされない通常のterminalって何でしょうか?
>>952 上書きしてくれて問題ないterminalはemfです
上書きしてくれなくて面倒なterminalはsvgですね
パワポとかワードで使用する時に扱いやすいファイルを探していて
上書きはしてくれるんですがemfだと不都合があったのでsvgを試してる感じです
pdfcairoやepscairoやpostscriptも追記です unset outputしたりset outputで新たなファイルを開くと gnuplotは前のterminalの最後だと分かるのでそこでファイルを閉じます unset outputやset outputなしに そこがterminalの最後だとどうして分かるのですか? emfって本当に上書きなんでしょうか?
ふむ……本来はoutputであらためてファイルを指定することが必要ということなんですね emfも上書きしているように見えているだけで、実際のところは違う挙動じゃないか?と…… 結局のところは毎回output等の処理が必要そうですね、ありがとうございます
lud20251123021634このスレへの固定リンク: http://5chb.net/r/unix/1314242150/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「gnuplot を使おう。 その3YouTube動画>1本 ->画像>9枚 」 を見た人も見ています:・【悲報】大学生の76%がiPhoneを使用「Androidはダサくて使えない。陰キャやオタクが使ってそう」 ・大学生の76%がiPhoneを使用「Androidはダサくて使えない。陰キャやオタクが使ってそう」スマホ ・自民・高市早苗「日本で学ぶ中国人研究者が日本の技術を持ち出し それを中国で極超音速兵器…日本狙う兵器開発に使われている★3 [minato★] ・ひろゆき「マクロン大統領も当選した時にputainと言ってる。フランス人は普通に使うのにおかしいと決めつける日本人って滑稽だなぁ」★6 [Anonymous★] ・ひろゆき「マクロン大統領も当選した時にputainと言ってる。フランス人は普通に使うのにおかしいと日本人が決めつけるって滑稽だなぁ★10 [Anonymous★] ・僕「お前らってUSBじゃなくてACアダプターのノートパソコン使っていそう」馬鹿「そのUSBには何で給電してるの?」 ・【ゴルフ】松山英樹 「五輪をやってほしい気持ちはあるけど、今の日本の状況考えると、それはどうなのかなという複雑な気持ち」 [Anonymous★] ・[AKITA931] インターネットの掲示板に「シャブ使おう」覚醒剤使用容疑で逮捕 ・【悲報】社長「Visual StudioとかEclipseとか使うのはサボりと同じ。俺たちの時代はメモ帳でコード書いてたからおまえらもやれ」 ・【海外】「革命のようだ」パリで起きた大規模デモ、負傷者100人に。各所で黒煙、地下鉄も閉鎖。日本大使館は外出を控えるよう呼び掛け ・【LGBT】杉田水脈議員「税金の使い道として生産性がないという意味。そういうお金があれば子供が産めない夫婦に使うべき」(衆比中国)★2 ・【韓国っぽ】使う唐辛子に「危険」の2文字「超鬼殺し」 激辛テールスープが人気の韓国料理店 「mogo kitchen ぺこっぱっ」 [10/30] [新種のホケモン★] ・X「Expedition33はお使いとかが無く最高。RPGの本質に向き合わなかった国産RPGの残酷な現実が見える」 ・「危うくAEDやられそうになった」 女性へのAED使用は「リスク」論が浸透…訴えられる可能性も ★3 [Stargazer★] ・【DRM】 StarfieldとかSkyrimをDLSS3に対応させるMODの作者、MODに「隠し地雷」を追加すると発言 これ使うの怖すぎないか? ・フジテレビ第三者委員会報告に記載「タレントU」 各局は実名を把握・共有で「使う局ナシ」★3 [Ailuropoda melanoleuca★] ・【小山田辞任】開会式の楽曲は使用せず… 空白の4分間の穴埋めは「クラシック、もう『バッハ』でいくしかない」と官邸 ★3 [ネトウヨ★] ・【】iPhone 12の4G SIM対応状況 au系→全滅 ドコモ/SB MVNO→プロファイル導入で可 ドコモ/SB MNO→そのまま使える [雷★] ・今年のボーナスの使い道、3位に「借入金返済」がランクイン「新型コロナで旅行の気分ではない」という声も Wizleap調査 [Buzzy Mozzie★] ・在露北朝鮮大使館「韓半島戦争時、米国は核兵器で消滅する」 ネット「消滅するなら半島の方。そうなると日本にも難民としてドッと… [Felis silvestris catus★] ・【キメセク】採尿時には「残念でした〜」と警察を挑発 元暴力団から転身、少年少女を支援の牧師(64)が覚醒剤使用で逮捕!神戸 [1ゲットロボ★] ・【Sputnik】国外退去の在札幌ロシア総領事館の領事は、その地位に反する行為はしていない=在日ロシア大使館[10/04] [Ttongsulian★] ・【ひろゆき】トランスジェンダーの女性トイレ使用認める判決に「風呂がある場合にも同じ判断になりそう」 [Ailuropoda melanoleuca★] ・トランプ大統領、ゼレンスキー氏を独裁者と批判…記者に"プーチンもそう呼ぶ?"と聞かれ「おいそれと使える言葉ではない」 [おっさん友の会★] ・ひろゆき、サッカー仏代表差別でトルシエ元通訳のダバディ氏にフランス語を教えてしまう「“putain”はフランス人相手にも使う言葉ですが? [Anonymous★] ・Fallout 4の宣伝曲「The Wanderer」の歌手がベセスダを訴訟 非常に不快な映像に使用されていると主張 ・雑談 スーパーの店員が恵んでくれる廃棄弁当に三回目には「カキフライ弁当ないの?」と言う俺たち ・ Apple「次のiPhone15は携帯ゲーム機としても使えるようにする」←こうなったら任天堂すら死ぬけど、 ・【ユネスコ】埼玉で朝鮮通信使パレード ユネスコ「世界の記憶」に登録されたことを祝う横断幕も ・【朗報】チョコプラが一般人のSNS使用を痛烈批判「芸能人・アスリート以外は使うな。素人が発信するな ・【文科省汚職】「同じ人ばかり、交際費の使い方おかしい」 費用負担の民間会社、数年前から贈賄側へ指摘 ・【雑学】う●この雑菌、トイレットペーパーを35枚重ねても貫通 お風呂で屁をすると大腸菌が溶け出す★2 ・【ベトナム人が訴え】ライダイハンは単純に「韓国人とのハーフ」という言葉です。差別的に使わないで ・ケンモ君が異世界に行ってもバギマぐらいの威力の魔法しか使えなくて、ゴブリンやオークばかり狩ってそう。 ・【詐欺】「30代、一流企業勤務しかもイケメン…」誰もが羨むようなプロフィールを使い婚活詐欺をしていた70歳のお爺さんを逮捕 ・【役満】投石などでガラス割り33カ所で空き巣 無職の男(46)を追送検「サケ、パチンコ、キャバクラに使った」 ・「この世の果てで恋を唄う少女YU-NO」4話 母親NTRぐちょぬれシーツ使用済みゴム描写にアニメファンが衝撃を受ける!!! ・【悲報】日本人、気づく「東京人、情弱じゃね?金持ち以外は、満員電車とウサギ小屋往復の極貧生活。趣味に使う金ない」 ・「撮り鉄」も思い複雑「きのう朝から並んだ」「うれしい半面…」JR留萌線 3月末で一部廃止 記念券発売 [七波羅探題★] ・ネット民「赤いきつね騒動で、今後企業はCMにアニメを使うのは躊躇するようになる。そういう流れを作った時点でフェミの勝ちなんだよ」 ・【芸能】元モーニング娘。尾形春水がSNS開設!!ファン驚きと感激「はーちんおかえり!」「天使のように可愛い」 ・【企業】【ケモナー騒然】動物擬人化キャラ登場の転職サイトオープン! 二次創作も歓迎「薄い本に使われたい」 ・【悲報】最新のFF14最難易度レイドコンテンツ「絶オメガ」戦、日本人PTがチート使ってクリアし外人激怒。本スレ大荒れ ・ネット民「赤いきつね騒動で、今後企業はCMにアニメを使うのは躊躇するようになる。そういう流れを作った時点でフェミの勝ちなんだよ」 ・Vtuberのゲーム実況って、なんでデフォの名前があればそれを使う奴結構いるの? クロノトリガーとかクロノが多い。 ・【MLB】ヤンキース・スタントン 負傷の原因は「魚雷バット」か 昨年ポストシーズン使用で7本塁打 [ネギうどん★] ・【情報流出】ぴあ 個人情報約15万件流出か サイトに不正アクセス カードの不正使用も、197件630万円分確認 ・【速報】 LINE、ハッキングされて個人情報が流出した可能性 「日本のアプリで安全というから使っていた」 ★3 [お断り★] ・堀江貴文「ATMに並ぶ人ってなんで並んでるの?振り込みネットでもできるやん。嫌味に感じる?」「意味ないことに時間使うの勿体無い」★2 [Anonymous★] ・コオロギ粉使用の製パン企業「Pasco」SNSが炎上 昆虫食は食糧難の救世主?寄生虫のリスクなど安全性に疑問の声 ★8 [Hitzeschleier★] ・【音楽】高野寛 YMOからの影響が色濃く反映された新曲「僕ら、バラバラ」のMV公開 “テクノデリック”フォント使用 [湛然★] ・ビル・ゲイツ「貧しい国へ寄付し世の中に役立つ研究の為にお金を使います」 前澤友作「スーパーカー買ったぜ!!豪遊最高イエーーイ!」 ・【朝鮮半島】「破倫の悪女」「ぼけた老女」「気の狂った雌犬」−北朝鮮が朴槿恵大統領を総攻撃=@品性を疑うその罵詈雑言とは…[2/28] ・【芸能】「おくさまは18歳」岡崎友紀がファンクラブ会員と金銭トラブル 返金を求めると「おっさんに気を使うと思っているのか」 [フォーエバー★] ・【ブチ切れ】愛知県常滑市が屋外音楽イベント「namimonogatari2021」の主催者に抗議文。「二度とりんくうビーチは使わせない」 [記憶たどり。★] ・【LGBTs】ゲイが占拠し“ハッテン場”となった『区民プール』 「子供が使いたそうにしててもどかないとかそれだけで害だろ」の声[06/24] ©bbspink.com ・【朗報】個人使用向けの Windows 10 拡張セキュリティ更新プログラム (ESU) 料金は 30 ドルと発表 1 年間のオプションでサポート期間延長 ・韓国の酒を世界にPRするというイベントで、爆弾酒を『まるで広島に落ちた原子爆弾のようだ』と表現⇒怒りに震える大島駐韓大使 2006年 [Felis silvestris catus★] ・中国からマスク“10倍返し” 山梨県知事・長崎幸太郎「友情と仁義の積み重ね合い」 ネット「絶対に中国製マスクは使いたくない [Felis silvestris catus★] ・【VOCALOID】底辺Pの雑談所 マイリス13(´;ω;`)ブワッ【UTAU】 ・嘘つき蓮舫は30歳の時台湾国籍も有していると自覚していた 97年雑誌「CREA」 自分の国籍は台湾なんです ・Macが東京圏で首位の衝撃 家電量販店「iPhoneを使っている人がMacに興味を持っている。Windowsより値崩れがないのも魅力」 ・ARM版Windows10登場。世界初x86用Win32アプリがさくさく動作。技術的には凄いが誰がそんなの使うのか? ・Galaxy使ってる奴は月に3回ジュースとかお菓子の無料クーポン貰えるの意外と知られてないよな 先日はレッドブル貰えたは