カテゴリー「比例・反比例のグラフ作成」の3件の記事

2013年12月27日 (金)

gnuplot - 比例・反比例・放物線のグラフの作成

関数のグラフってありますよね。
一次関数や二次関数等々。

昔はグラフをちょこっと作る程度だったので、表計算ソフトでマス目を作って、直線のオートシェイプを重ねて済ましていたのですが、それではどうしても作れないものがありました。それは『反比例のグラフや放物線』。つまり曲線です。

画像での処理は到底無理なので、他の方法を取るしかありません。表計算ソフトにはグラフ作成機能があるので、それで試したみたものの、見た目等で使用に耐えうるものではありませんでした。そこでPC上で綺麗に作成するソフトとかないかなぁ、と探してみたところ、GRAPESというフリーでしかも日本産の良いソフトがあるでは無いですか。「よっしゃぁ、さっそくインストールしたる!」とダウンロードしようと思った瞬間、ある文字が目に入り、絶望の縁へと落とされます。

Home_01
HAHAHA。Windows専用のソフトのようです。
Linuxへ完全移行してしまった現在においてはWindowsはもう使っていないので、残念ながらこのソフトの使用は諦めました。

なので、他のソフトを色々探してみると、たまたま見つけたのがgnuplot
以下、wikipediaの解説記事を引用。(2013/12/27現在)

gnuplot(ニュープロット しばしばグニュープロットとも)は、2次元もしくは3次元のグラフを作成するためのコマンドラインアプリケーションソフトウェアである。インターネットにおいて無料で配布されているフリーウェアであり、1986年に最初のバージョンが開発された。現在では、Linux、UNIX、Windows、Mac OS Xなどの多くのオペレーティングシステム (OS) に対応したバージョンが開発されている。

高機能であることから、インターネットで広く利用され、使い方を解説したページなどが多く存在する。また、GNU Octaveのプロットエンジンとしても利用されている。

最新版     4.6.4 / 2013年10月9日
最新評価版     4.7 / CVS
対応OS     Linux、UNIX、Windows、Mac OS Xほか

いゃぁ、これは使うしかないでしょう。
ということで、実際に使ってみました。

で、使ってみた感想は・・・

  グラフが綺麗!

00_sumple_01_2 011_5

関数の式を入力すれば、さくっと作成されて、すんごく楽です。
 
プリント用に十分通用する、というか、市販教材と同レベル、場合によっては下手な市販教材よりも断然美しい。
 
いやはや、これは良いものですね。

ただし、デメリットもあります。

 ・はじめに座標平面の形を作るための設定値を入力しなければならない
 ・コマンドラインに慣れていない人にとっては地獄

なので、グラフ作成で無理してgnuplotを使わなくても良いと思います。

非Windowsユーザーや、コマンドラインツールにチャレンジしてみたい、純粋に使ってみたい、という人に試していただければと思います。

gnuplotの使い方については非常に多くのサイトで解説されています。
私も色々と参考にさせて頂きました。いくつかリンクを載せておきます。

〔外部サイト〕
 ・gnuplotスクリプトの解説 - 米澤進吾 ホームページ
 ・gnuplotの初歩
 ・Gnuplotの第一歩
 ・グラフはGnuplotにお任せ

ところで、多くのサイトは大学数学レベル以上のグラフ作成がほとんどです。中学・高校レベルのグラフを作りたいといった場合、参考になるサイトがなくて困ると思います。というのも、式をグラフにすること自体は簡単なのですが、その下地になる座標平面を一から作るのが面倒なのです。なので、中高数学のグラフ作成向けに座標平面の作り方の記事を書きましたので、必要のある方は参考にしてみてください。

次ページ
 『gnuplot で比例・反比例のグラフを作ろう gnuplotの起動〜直線(一次関数)を表示させてみる


〔目次〕
 (1)gnuplot - 比例・反比例・放物線のグラフの作成
 (2)gnuplot で比例・反比例のグラフを作ろう gnuplotの起動〜直線(一次関数)を表示させてみる
 (3)gnuplot グラフ-座標平面づくり
 (補)gnuplot5 インストールメモ(新)
 (補)gnuplot インストールメモ(旧)
 
 








 

gnuplot で比例・反比例のグラフを作ろう gnuplotの起動〜直線(一次関数)を表示させてみる

比例・反比例・放物線のグラフの作成』の続きです。

説明はDebian(KDE)上で行なっていますが、Windowsでも基本は変わりません。
gnuplot はインストール済みだと仮定して説明を進めて行きます。
    (関連記事:gnuplot5 インストールメモ

〔gnuplotの起動〕

〜 Debian KDE4 の場合 〜
 左下隅のKDEメニューをクリックすると下図のように、KDEメニューが現れます。

 00_kidou_01_3

そうしたら、上図の赤丸のところに『konsole』と打ち込み「Enter」を押してください。すると、ターミナルが起動します。

00_kidou_03_2
 

〜 Windows の場合 〜
Windowsの場合、Cygwin版か、MinGW版かで起動時の状況が多少変わります。
Cygwin版の場合は、スタートメニューから起動すると、上図のようなターミナルが起動するかと思います。

 

上の図のようにターミナルが起動したら、下図のように「gnuplot」と入力し、「Enter」を押してください。

00_kidou_04_2

すると、下図のような状態になると思います。

WindowsでのCygwinの場合は、「gnuplot.exe」と入力してください。Windowsではフォント設定が必要なケースがあるようですので、文字表示がおかしい場合は、「gnuplot 設定」で調べてみてください。ちなみに、MinGW版は下図の状況からスタートします。

00_kidou_05r_2  

一見すると、何も変わっていないように見えますが、赤丸のところに『gnuplot >』と表示されています。これは、『gnuplot』が起動している状態を意味します。この状態でgnuplotのコマンドを入力すると様々なグラフが作成できます。試しに『y=x』の直線を作成してみましょう。『plot x』と入力してみてください。
『y=』の部分はいりません。

00_kidou_06r

00_kidou_07

おぉ。一応、『y=x』の直線ができてますね。軸とかが変ですけど。
  『y=2x』なら、『plot x*2』
  『y=7/3x』なら、『plot x*7/3』で可能です。

試しに放物線も行ってみましょう。
『y=x^2』を表示させてみます。
  『plot x**2』または『plot x*x』と入力してみてください。

00_kidou_08

・・・一応、放物線になってますね。一応・・・。



でも、この記事を読んでいる方はこんなグラフをイメージしていると思います。

00_sumple_02



ということで、上の図のようなグラフの下地づくり、座標平面の作成を始めましょう。



次のページへ
  gnuplot グラフ-座標平面づくり


〔目次〕
 (1)比例・反比例・放物線のグラフの作成
 (2)gnuplot で比例・反比例のグラフを作ろう gnuplotの起動〜直線(一次関数)を表示させてみる
 (3)gnuplot グラフ-座標平面づくり
 (補)gnuplot インストールメモ





 

gnuplot グラフ-座標平面づくり

gnuplot で比例・反比例のグラフを作ろう gnuplotの起動〜直線(一次関数)を表示させてみる』の続きです。

さて、直線や、放物線の式の入力の仕方は良いとして、問題は座標平面です。
これでは中学生には使えません。ということで、座標平面を作りましょう。

 下の図のように、『set zeroaxis』と入力してください。

01_ziku_01

 これで、軸の設定が中央になったはず・・・なんですが、実際に表示されているグラフの軸は変わらず。設定を反映させるためには、面倒なんですがもう一度式を入力させる必要があります。入力させる式は何でも良いです。
もう一度『plot x』としてみましょうか。

01_ziku_02

中央に座標軸ができてますね。点線ですけど・・・。
ということで、座標軸を実線で太くしましょう。
『set zeroaxis lt -1 lw 1.5』を入力後、何かの式を入力してください。
 ちなみに
   lt は線の種類
   lw  は線の太さ
 を表しています。

01_ziku_03

おぉ、さっきより良くなりましたね。ところで外枠の数字を中央の軸に移したい。ということで、
  『set xtics axis』
  『set ytics axis』
  『set x2tics axis』
  『set y2tics axis』
を入力して、『plot x』。

01_ziku_04_r2

数字が中央の軸に移り、だいぶそれっぽくなってきました。
でも数字が2種類かぶってますね。片方を消しましょう。
  『set format x2 ""』
  『set format y2 ""』
と入力します。

01_ziku_05_r2_2

片方の数字が消えました。
ところで、グラフ右上の凡例が邪魔ですね。

01_ziku_04r

非表示にしましょう。

『unset key』
で非表示にできます。

01_ziku_05_2

いい感じです。
さて、グラフをよく観察してみると、x軸とy軸の値の比率が違うようで、グラフが横長になっています。
これを修正します。
 『set size ratio -1』を入力します。

01_ziku_06

かなりいい感じに仕上がって来ました。

そろそろ細かなグリッドが欲しいですね。
 『set grid x2tics』
 『set grid y2tics』
を入力します。

01_ziku_06_r2

う〜ん、グリッドをもっと細かくしたい。
ということで、
 『set x2tics 1』
 『set y2tics 1』
を入力。

01_ziku_07_r2

グリッドが1メモリずつになりました。
もし、グリッド線の太さ等を変えたければ
 『set grid x2tics lt 3 lw 0.5』のように入力してください。
数値はご自身で調整を。

ところで軸のメモリは余計ですね。メモリの長さを0にしましょう。
 『set tics scale 0』を入力します。

01_ziku_08_r2

座標軸が綺麗になりました。

さて、座標軸の数字の0は余計ですね。強制的に変更しましょう。
ついでに4メモリ間隔にしちゃいます。
 『set xtics ('-4' -4 ,'' 0,  '4' 4)』
 『set ytics ('-4' -4 ,'' 0,  '4' 4)』
を入力します。

01_ziku_09_r2

じゃじゃ〜ん。できました。

試しに『y=2x』のグラフを作ってみますか。
 『plot x*2』と入力。

01_ziku_10_test01

・・・。できたけど、なんか細長い・・・。

では、反比例の『y=6/x』のグラフはどうなるんだろか。
 『plot 6/x』と入力。

01_ziku_10_test02

間違ってないけど、何かが違う・・・。

ということで、平面座標の範囲を指定しましょう。
 『set xrange [-8:8]』
 『set yrange [-8:8]』と入力。

01_ziku_10_test03

おぉ!うまくいきました。

放物線行ってみますか。
 『plot x**2』と入力。

01_ziku_10_test04

いいですね!
複数の関数を一度に表示してみましょう。
やり方は、関数をカンマで区切って入力します。
例1) 『plot -x**2 , x*3/2 ,-8/x』

01_ziku_10_test05

例2)
01_ziku_10_test06

こんな感じでいかがなものでしょうか。
以上、座標平面づくりは終了です。



最後に、gnuplotの終了の仕方について。

 『exit』

と入力すれば、gnuplotは終了させることができるんですが、その前にやっておくと良いものがあります。

それは環境設定の保存。

もし、このままgnuplotを終了させて、それからもう一度再起動させたとすると、また一から座標平面づくりのためのコマンドを打ち直さなければなりません。
なので、今まで打ち込んだ設定を保存します。
保存には『save』コマンドを利用します。使い方は『save 'ファイル名'』です。
ここでは

 『save 'test01.gnuplot'』

としました。

02_save_01


あとは『exit』と打てば、gnuplotは終了し、元のターミナル表示に戻ります。

01_ziku_11_exit


01_ziku_11_exit_keka

もし、またgnuplotを起動させたければ、
  『gnuplot』と入力してエンターを押せば良いです。

環境設定を前回の状態に戻すには
 『load 'test01.gnuplot'』
と打ってください。
そうすれば式を入力するだけで、先ほどのようなグラフをすぐに作成することができます。


以上、gnuplotにおけるグラフづくりでした。



〔目次〕
 (1)比例・反比例・放物線のグラフの作成
 (2)gnuplot で比例・反比例のグラフを作ろう gnuplotの起動〜直線(一次関数)を表示させてみる
 (3)gnuplot グラフ-座標平面づくり
 
 (補)個人的gnuplot用スクリプトその2(ファイル保存〜使用方法まで) 
   024_3
 
 
 (補)gnuplot インストールメモ
 (補)個人的gnuplot用スクリプト(旧)



 (他)gnuplot でヒストグラム・度数分布多角形づくり
02__

〔その他〕
 ・GeoGebra5 で回転体を作る!
   021




ブログ記事目次   







 

2021年5月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ