• ベストアンサー

gnuplotで関数を途切れさせるには?

gnuplotでデータの一部に対してフィッティングをしたいのですが、 表示させるとフィッティングさせたくないところまで関数が続いてしまいます。 グラフの定義域を指定して、それ以外は表示させないためにはどうしたらいいでしょうか。 しらべてみたのですが、xlabelで表示範囲を変える、という方法しか見つかりませんでした。 そうではなくて、グラフを途中でぶったぎりたいということです。

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

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

質問の意味がちょっと理解できないのですが、 フィッティングした曲線をグラフの表示範囲全域に表示するのではなく、一部領域だけに表示したいということでしょうか? そうだとすると、gnuplotは関数を使ってグラフを書かせた場合には、領域全体に書こうとするようです。 1つの方法として、書きたくない領域がNaNとなるユーザー定義関数を使う方法があります。例えば sin2(x)=(x<0) ? NaN : ((x>5) ? NaN : sin(x)) だとxが0から5までしか書きません。 それか、関数から座標データを作ってそれをプロットする方法もあります。

obento1214
質問者

お礼

やりたいことが上手くできました。ありがとうございます。 他の方にも、分かりにくい質問で申し訳無いです。

その他の回答 (1)

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

表示する範囲でしたら set xrange[0:2] や set yrange[0:2] のような感じで変えられますが

obento1214
質問者

補足

すみません、元質問の文章、xlabelはxrangeの間違いでした。

関連するQ&A

  • gnuplotで複数の長さの関数の表示

    実験データの比較のために、複数の長さのデータのグラフをひとつのグラフへ表示させようとしています。 この際、データが存在する部分だけにそれぞれのデータの理想値のグラフを関数で表示させたいのですが、それぞれの関数に対してそれぞれの範囲を指定する方法がわかりません。 例えば、 v(x)=4*x u(x)=2*x とした場合に、vは[0:3]の範囲で、uは[0:6]の範囲で表示させたい場合、どのようにして表示させればいいのでしょうか? よろしくお願いします。

  • gnuplotでのフィッティング

    gnuplotで関数のある部分をデータにfitさせたいのですが、どうやればいいのでしょうか?関数を定義するときに論理記号をどうやって使えばいいかわかりません。すみませんだれか教えてくれませんか。

  • gnuplotについて

    gnuplotを使い複数のデータファイルのグラフを同時に表示しました。 このグラフ(複数のデータのグラフ)を印刷したいときはどうすればいいでしょうか? set terminal postscript以下が分かりません。

  • gnuplotで鳥瞰図グラフ

    gnuplotの使い方がよく分からないので教えて下さい。 卒論で3次元のデータをテキストファイルに書き込んでgnuplotで鳥瞰図表示のグラフを作成したいと思っていますがうまくいきません。 連続関数ではないのでうまく鳥瞰図にできるかわからないのですがうまく表示させる方法があれば教えて下さい。 splotなどの関数は使いましたが値が0である場所もあるのでなかなかきれいになりません。できれば鳥瞰図の下に等高線を表示させたいと思っています。 よろしくお願い致します。

  • gnuplot

    gnuplotで(1,1),(1,2)などのデータをあらかじめ入力したファイルを読み込んでグラフを作る方法を教えてください。

  • gnuplotの質問です。

    手元に10000行1列の各数字が0 ~ 20範囲のデータがあります。 横軸に 0~5 5~10 10~15 15~20の各範囲、縦軸にそれぞれの範囲内にある数の個数の4本の棒グラフを作成したいのですが、gnuplotで可能でしょうか。 調べてみますと、gnuplotだけではこの様なことはできないと書いてある頁があったのですが疑問に思ったので質問させていただきました。

  • fortranからgnuplotへ

    gnuplot4.4.2を使って、グラフを書いております。 座標の情報は、ファイルから読み込みを行います。 ファイルの中身は、コンピュータで計算させたため、 0.1098998*10^-2 の表示が、 ( i ) 0.1098998D-02 となっております。 この表で書かれたデータがあまりにもたくさんあるため、すべてを ( i i ) 0.1098998e-2 と直すのは、正直面倒です。 そこで質問なのですが、 (1) 上記を表示のまま、gnuplotでグラフを書くためにはどうすればよいのでしょうか。 もし、( i ) の表記をどうしても (i i ) のようにしなければならな場合、コンピュータの計算の結果をそのままgnuplotで書きたいと思います。 (2) 現在fortran77 ( 実際は、fortran95 に対応しておりますが、77の範囲でプログラムを書いております ) を使って、計算をしております。 計算結果をそのままグラフにするためのプログラムはどのようにしたらよいのでしょうか。 どなたか、(1)か(2)の質問をヒントだけでもいいので教えてください。

  • Gnuplot 最小二乗フィッティングのエラー?について

    Gnuplotを用いて、非線形関数を使った最小二乗フィッティングを行いました。その結果、 Singular matrix in Invert_RtR と表示されてしまったのですが、原因をご存知の方、いらっしゃいますでしょうか?解決方法を教えていただきたいです。 よろしくお願いします。

  • gnuplotの日本語表示

     こんばんは、質問があります。フリーソフトのgnuplotの日本語表示についてです。今、「GNUPLOT日本語化・機能拡張 (PLUS-enhanced) パッチ公式サイト」 http://www.h2.dion.ne.jp/~yamaga/gnuplot/index.ja.html さんから、windows用のgnuplotをはじめてダウンロードして、ReadMe.txtを見て、設定しました。それで問題は、グラフを書いて、x軸、y軸に日本語の説明を書こうと思って次の操作 gnuplot> plot "smp.dat" w p gnuplot> set xlabel "横" gnuplot> set ylabel "縦" gnuplot> replot をしてみたのですが、(縦、横の代わりに)何か分けのわからない文字が出てきました。gnuplotを知ったばかりの自分には、どうしていいか、わかりません。gnuplotを説明しているページを見て、そのとうりにしたら(自分ではしたつもりですが)、日本語で"縦"と"横"が表示されるはずだったのに、だめでした。自分のパソコンは OS Windows98 SecondEdition ValueStar NX (VC500J/1) です。まとめますが、グラフに日本語を入力できる方法ですが、よろしければ教えてください。お願いします(日本語が下手ですみません)。

  • gnuplot

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