• ベストアンサー

gnuplot

gnuplotで関数のグラフを描かせ、その線上に印を付けたいです。 例えば、y=sin(x)のサインカーブ上の、x=π/6,π/4,π/2など希望するxの位置に相当する点に白丸○を打たせたいのです。自分でも調べてみたのですが、良い方法が見つからず困っています。教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Proof4
  • ベストアンサー率78% (151/192)
回答No.2

No.1の補足に対して回答します。 call "./plot_dot.gp" pi/6 3 で ./plot_dot.gp としているところを、plot_dot.gpへの絶対パスに置き換えてください。例えば、plot_dot.gpをデスクトップに置いた場合は "\Users\***\Desktop\plot_dot.gp" のようにします。

iluguis
質問者

お礼

Proof4様 大変ありがとうございました。大いに参考になりました。 私のパソコンにはUsersやDocumentsというディレクトリー が見当たらず、「ユーザー」「ドキュメント」がその代わり(?)になっているようです。一方gnuplotにはカナ文字が認識できないようで、そのためファイルがfind or openできないというメッセージが返されます。 しかしこれはパソコン機種独自の問題でありますので、gnuplotとは切り離して考えるべきです。お教えいただいた内容を基に、少し長いスパンで検討してみます。 ありがとうございました。

その他の回答 (1)

  • Proof4
  • ベストアンサー率78% (151/192)
回答No.1

下記の内容でplot_dot.gpファイルを作成します。保存場所はpwdコマンドで表示された場所が手っ取り早いですが、パスが分かればどこでもよいです。 ----[plot_dot.gp]---- # call "plot_dot.gp" <xの値> <円のサイズ> # 枠線 set label front at first ARG1,sin(ARG1) point pt 21 ps ARG2 lw 2 # 塗りつぶし set label front at first ARG1,sin(ARG1) point pt 22 ps ARG2 lc rgb "white" --------------------- そして、次のようなコマンドでsin関数の上の任意の場所に白丸を表示できます。この例で描画したグラフは添付画像のようになります。 --------------------- reset call "./plot_dot.gp" pi/6 3 call "./plot_dot.gp" pi/4 3 call "./plot_dot.gp" pi/2 3 plot sin(x) --------------------- 点はset labelを利用してグラフ上にラベルを表示することで配置しています。枠線付きの塗りつぶされたpointは用意されていないため、白丸は枠線だけの円(pt 21)と塗りつぶしだけの円(pt 22)を組み合わせて作成します。 この処理をスクリプト(plot_dot.gp)にまとめることで call "plot_dot.gp" <xの値> <円のサイズ> として白丸を描画しています。

iluguis
質問者

補足

ご教示ありがとうございます。早速試そうとしたのですが、予想外の問題が生じました。pwdでは\Users\***\Documentsと出るのですが、私のパソコンは何故か、"ユーザー”"ドキュメンツ”とカナ表示です。パスのなかにカナがあるとgnuplotでは文字化けします。 やむを得ずいつもはデスクトップにスクリプトファイルを置いてgnuplot までドラッグして読ませています。教えていただいたplot_dot.gpファイルをデスクトップにおいて処理できないでしょうか?ご面倒をお掛けして申し訳ありません。

関連するQ&A

専門家に質問してみよう