関数グラフ: graph

Pythonが広く使われている理由の一つとして,データの可視化がたやすく,しかも美しくできることが挙げられます。ここで使用するMatplotlibは代表的な可視化パッケージで,様々な種類の2次元,3次元グラフを描画できます。ここではPythonの数式パーサ機能(cexprtk)を使って,'x'を変数とする1変数関数式と\(x\)の区間を入力し,簡単な関数の2Dグラフを描画するアプリケーションを作成します。

←前に戻る ↑トップへ 次に進む→


準備

 Pythonパッケージとして,NumPy,Matplotlib,cexprtkがその環境にインストールされていることを確認しておいて下さい。入っていないようでしたらインストールしておきましょう。

 ここではgraphフォルダに全てのスクリプト,テンプレートファイルを作成するものとします。graphフォルダの直下にHTMLテンプレートファイルを置くためのtemplatesフォルダと,生成されたグラフPNG画像ファイルを格納するためのstaticフォルダを生成します。

関数グラフを描画してみる

 数式入力のためのテンプレートHTML(template.html)を作り,ここに下記のindex.htmlファイルを埋め込むようにします。どのようなテンプレートファイルが必要かは,今までの実習内容を見ながら自分で作成するようにして下さい。

index.pyを作成する

\(\sin(x)\)関数を,\(x = [0, 1]\)区間で描画したい時には次のように入力する。

グラフ描画画面

練習問題3
  1. 次の関数グラフを描画せよ。なお,四則演算(+, -, *, /)は省略せずに書くこと。

    例) :例 \(2x/3 + \cos(x^2)\) → 2 * x / 3 + cos(x * x)

    1. \( (x - 3)(x + 4)(x - 1) \), \(x \in [-5, 5]\)
    2. \( \exp(\cos(x^2)) \), \(x \in [-3, 3]\)
  2. [できそうならチャレンジ!問題] 現状ではx区間の分割数を50(div=50)に固定している。この分割数もユーザが入力して変更できるようにせよ。

←前に戻る ↑トップへ 次に進む→