できるだけシンプルに、Python でグラフを表示するスクリプトについてまとめておきます。
以下の環境で動作確認をしています。
環境: Windows 10、Python 3.X (numpy と matplotlib をインストール済み)(+ Anaconda)
背景
Python を使って、基本的な関数・グラフを表示するスクリプトについてまとめておきます。
コピー&ペーストすれば、すぐに動くよう意図しています。
うまく動いたら、数字や関数を変えて流用してください。
サンプル1: sin, cos 関数を表示するサンプルコード
import numpy as np1
import matplotlib.pyplot as plt1
x1 = np1.arange( -np1.pi, np1.pi, 0.01 ) # -pi to +pi
plt1.plot( x1, np1.sin( x1 ) )
plt1.plot( x1, np1.cos( x1 ) )
plt1.ylim( -1.1, 1.1 )
plt1.title( 'sin, cos' )
plt1.xlabel( 'x' )
plt1.ylabel( 'y' )
plt1.show()
1つめは、sin, cos 関数を表示させるサンプルコードです。numpy を np1 という名前で定義して呼び出し、横軸を -π (-3.14159..)から +π (+3.14159..) の範囲で定義しています。さらに、numpy で定義されている sin, cos 関数を呼び出しています。
後半は、グラフ描画用の matplotlib (plt1)を呼び出して、縦軸 y の範囲を設定し、グラフタイトル、x 軸、y 軸のラベルを設定し、最後に show() を実行することで描画しています。
サンプル2: step, ReLU, sigmoid 関数を表示するサンプルコード
import numpy as np1
import matplotlib.pyplot as plt1
def step( x1 ):
return ( x1 >= 0.0 ) * 1.0
def relu( x1 ):
return ( x1 >= 0.0 ) * x1
def sigmoid( x1 ):
return 1.0/(1.0 + np1.exp( -x1 ))
x1 = np1.arange( -4.0, 4.0, 0.01 )
print( x1 )
y1 = step( x1 )
y2 = relu( x1 )
y3 = sigmoid( x1 )
plt1.plot( x1, y1, 'r' )
plt1.plot( x1, y2, 'g--' )
plt1.plot( x1, y3, 'b:')
plt1.ylim( -0.1, 2.1 )
plt1.title( "step, relu, sigmoid" )
plt1.xlabel( 'x' )
plt1.ylabel( 'y' )
plt1.show()
2つめは、機械学習で必須となる step, ReLU, sigmoid 関数を表示させるサンプルコードです。
こちらでは少しやり方を変えて、それぞれ関数で定義しています。サンプルコードの後半は、red, green, blue の色を付けて、かつ、点線の設定等をして、最後に描画しています。
まとめ
Python で、極力最小限&最短でグラフを描画する方法についてまとめました。
コピー&ペーストしてすぐに動くよう意図しています。
なお、matplotlib のグラフ以外にも、Python を使って、HTML、表、図形を出力する方法についてまとめています。matplotlib を使わずに、自由曲線を使ってサインカーブなどを HTML で描画して出力することも可能です。
もしも関心のある方は、関連リンクも参考にしてみてください。
関連リンク
・ 標準的な座標平面とグラフを描画する 【Python】
・ テーブル(表)を表示するサンプルコード 【Python & tkinter】
・ HTML のグラフを出力する 【Python】
・ Python で自由曲線を描く 【HTML & SVG】
・ Python で円周率を求める
・ WordPress で数式を扱う 【LaTeX】