gnuplot を使おう。 その3 (955レス)
上下前次1-新
抽出解除 レス栞
1(4): 2011/08/25(木)12:15 AAS
グラフ描画ソフト gnuplot のスレ。
gnuplot 公式 Web ページ
外部リンク:www.gnuplot.info
前スレ
gnuplot を使おう。 その2
2chスレ:unix
14(3): 2011/09/20(火)11:45 AAS
前スレの972で
>wgnuplotで起動して最初にplotするときだけ時間が異常にかかります
ですがgnuplot\binary\etc\fontsにあるfonts.confを編集すればTEMPで指定してあるところ以外にも自由におけるようです
外部リンク:swordfish.s53.xrea.com gimpですが同様の方法で変更できました
50(3): 2012/01/31(火)18:13 AAS
>>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 でやることが考えられる。
86(5): 2012/07/03(火)19:49 AAS
負の数をログスケールにしたいんですが...
set logscale y
set ytics format "-%g"
plot 'hoge' using 1:(-$2)
こんな感じでいけますが,x11などの場合で,
いったん普通にプロットしたあと,キー入力でノーマルスケールと
ログスケールを切り替えたいです。
bind で何とかならないかとも思ったのですが,
plot文を変える必要があるため,特定の用途ならともかく,
汎用的にはやるのはなかなか難しそうです。
理想は
set logscale y -10
とかやると,負数のログスケールになってくれたりするとありがたいんですが...
ちなみにソースを見るとfabsを取っているようで,-10でも10でも同じ結果になります。
192(3): 2013/09/20(金)14:08 AAS
>>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化するとおかしな表示になるのはまだ解決してませんが、それは純正使わなきゃいいだけの話。
とりあえず一か月以上ずっと困ってたことは解決したので、スレのみなさんありがとうございました。
また何かあったらその時によろしくお願いします。
207(3): 2013/10/16(水)06:48 AAS
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です。
環境依存の部分もあるかもしれませんが、アドバイス頂けないでしょうか?
261(4): 2013/11/09(土)01:18 AAS
emfターミナルのfillが灰色の塗りつぶしなんだけど、
psターミナルみたいな網掛けにする方法ないかな?
元データを加工して網掛け用データを作成するのは最後の手段として。
>>254
4.6.3以降ならMS Officeに貼っても不具合のない日本語含むemfが作れる。
MS Officeを使わざるを得ない環境なんで、これが本当に助かる。
301(3): 2014/03/16(日)21:39 AAS
>>300
あれ?openjaneだと見れなかったから落ちたのかと思っちゃった、ごめん
パッチ内容見たけどこれはほとんど、やった。あらためて自分のソースdiffしてみたけど、そのパッチ
だけじゃ修正しきれてない。
まあx86の定義をx64に修正すればいいだけの話なので素人でも修正可能、ただhtmlhelp.libのx64
がどうしてもダメであきらめた。今のx64ライブラリだとbufferoverflowのライブラリも関連するので
書いててmakefileのHTML_HELP関連消せば通る事に気付きx64ビルド成功。
objdumpで見ると確かにx64なんだけどgunplotを立ち上げると32bitになってる。うーむー。
501(3): 2016/04/16(土)18:49 AAS
3次元のグラフの目盛の数字と目盛のラベルが他の軸だったり、軸の線と重なる
ことがありますが、どうするのがいいのでしょうか?
viewやoffsetを調整することはできるのですが、場当たり的な対応であり、
手間もかかるので、うまい対処方法はないでしょうか?
517(3): 2016/04/20(水)03:19 AAS
>>516
解決したと思ったら問題がまだ残っていました。
dgrid3dで作成されるデータは元データが存在する範囲に限られるので取り得る値であっても
データがなければ曲面は描画されません。
例えば100点満点のテストのグラフを描画したいのでグラフの範囲は[0:100]だけど
実際の最低点は30点で、最高点は90点だった場合、どのように示すのがいいでしょうか?
そのままグラフを示すと曲面が0〜100点を示していると誤解する人が出そうです。
グラフの範囲を[30:90]にするというのも一案だとは思いますが、
グラフの範囲は[0:100]だという前提で、曲面の範囲は30〜90点であることも
誤解なく示すにはどうするのがいいかアイデアを頂きたいです。
519(4): 2016/04/20(水)09:25 AAS
>>518
よく考えたらimpulsesの根元が元データの分布を示していることに気が付きました。
必要であればstatで最小値・最大値が分かるのでデータの範囲をbaseの位置に示してもいいでしょうか。
ただ、当初の質問から派生した疑問としてある曲面の上にあるデータと曲面の下にある
データで色分けするにはどうすればいいのでしょうか?
2次元グラフで3項演算子を活用する方法は分かったのですが、3次元の場合の
方法は見つけられていません。
ばらついて分布する元データからdgrid3dで格子の曲面を生成し、
元データがその曲面の上下どちらにあるかを分かりやすく示したい
といった利用方法を想定しています。
544(3): 2016/05/05(木)15:04 AAS
>>511
開発版で対応してくれたようです。良かったですね。
テストスクリプトではかなり改善されていると思います。
560(3): 2016/05/13(金)20:21 AAS
zshみたいな感じで補完とか履歴にまつわる挙動カスタマイズできたりしないの?
654(3): 2017/12/28(木)18:43 AAS
plot "hogehoge" with lines
ってやった時、hogehogeにデータが1点分しかないとなにも見えない。
大きさのない点なのかな?
複数点の時は線だけで、1点のときは自動的にpontsに切り替えるとか、
見えるように出来たらいいなあ。
686(3): 2018/09/10(月)11:21 AAS
シェルのreadコマンドのように、値を標準入力からセットするコマンドってないですか?
717(7): 2019/02/17(日)13:28 AAS
Macにaquaterm込みで導入したいんですけどaquatermのアプリはインストールしてるのに gnuplotのインストールで認識されなくて困ってるんですが原因はなぜかわかりますか?
806(3): 2022/02/03(木)16:50 AAS
windows11,WSL2,WSLg,gnuplot-5.4.3で
qtだと文字列の末尾が数字の1だと表示がずれる
wxtだと閉じるボタンだけで最大化、最小化ボタンが表示されない
原因がわかる方いますか?
818(5): 2022/04/19(火)20:48 AAS
プロットするデータの個数によって、with linesとwith pointsを自動切換えできないでしょうか?
多くのデータファイルから自動で2Dプロットを作成しています。
基本的には
plot "file.dat" with lines
でスッキリした線だけのプロットを描くのですが
たまにX,Yのデータが1組しかないファイルがあり
その場合プロットが目に見えない点だけになってしまいます。
そこでファイル中にデータが1組しかない時は
plot "file.dat" with points
に自動的に切り替えてくれるとありがたいです。
設定やplotコマンドの書き方でなんとかならないでしょうか?
もしくは、データファイルの書き方で1組のX,Yデータでも
目に見えるポイントを出す方法があればそれでもいいです。
852(3): 2022/09/14(水)07:22 AAS
ある数値aとbがあるとき、a±bを横長の帯として表したいんだが、どうしたらシンプルに実現できるかな?
0 a b
0.1 a b
...
というファイルを作ってwith filledcurveでプロットすればそれらしく見えると思うけど、中間生成物を沢山作りたくない
861(3): 2022/09/15(木)03:35 AAS
>>860
そうです
任意の面積の塗り潰しがやりたいことです
871(3): 2022/09/16(金)12:43 AAS
>>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
画像リンク[png]:tmacchant33.starfree.jp
887(9): 2022/12/06(火)01:23 AAS
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);
890(3): 2022/12/06(火)08:10 AAS
>>887
mingw gnuplotの5.4はpipeの扱いにバグがあります.
最近修正されたのですがリリース版修正されるのは次のリリース(5.4.6)になります.
5.2のgnuplotを使うか
891(3): 2022/12/06(火)08:12 AAS
890 途中でかきこんでしまいました.5.2.xを使うか5.5(開発版)を使うかです.
5.5(開発版)のバイナリは以下
外部リンク[html]:tmacchant33.starfree.jp
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.482s*