Python グラフ描画用関数のソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[Python]]の記事へ戻る == '''概要''' == Pythonista3でグラフ描画関数およびここで紹介する算術関数を利用する場合は :'''import matplotlib.pyplot as 変数名''' :'''import numpy as 変数名''' という記載が必要になります。 <br /> === '''グラフ描画関係サンプル''' === まずは簡単なグラフ描画サンプルを示します。python3.6の実行環境がある人はそのまま貼り付けて実行してみるとよいと思います。それから記事を読み進めると理解が深まるかもしれません。 # coding ' utf-8' import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 100, 1) y = np.sin(x * np.pi / 30) params = ["sample"] fig = plt.figure(figsize=(8,6)) fig.subplots_adjust(hspace=0.5) for i, p in enumerate(params, 1): ax = fig.add_subplot(3, 1, i) ax.plot(x, y) ax.set_xticks(np.linspace(0, 100, 5)) ax.set_xticks(np.linspace(0, 100, 1), minor=True) ax.set_yticks(np.linspace(-1, 1, 3)) ax.set_yticks(np.linspace(-1, 1, 5), minor=True) ax.set_xlabel('time[sec]') ax.set_ylabel('voltage[V]') ax.set_title('time vs voltage plot') ax.grid(which=p) ax.set_title("title='{}'".format(p)) plt.show() 実行結果 :[[ファイル:Python PlotSample.jpg|600px|thumb|none|Python PlotSample]] === '''グラフ描画関係''' 書きかけの記事です。20191226~=== *'''NumPyオブジェクト変数名.arange(引数1,引数2,引数3,引数4)''' :等差数列を生成するnumpy.arange関数です。 :例 NumPyオブジェクト変数名.arange(1, 100, 2, dtype = 'int') import numpy as np np.arange(1, 100, 2, dtype = 'int') :引数1は初期値 省略可能で省略時は0 :引数2は終了値 省略不可で'''指定が必須''' :引数3はステップ値 省略可能で省略時は1 :引数4でデータ型の指定ができます 省略可能で省略時は引数2のデータ型から自動予測 dtypeはデータ型を指定しても良いですし、それに対応する型コードと呼ばれるものを指定しても良いです。ちなみにintはint64と同じで、floatはfloat64、strはunicode、uintはuint64と同じです。 dtype = 'int8' dtype = 'i1' ■符号あり8ビット整数型 dtype = 'int16' dtype = 'i2' ■符号あり16ビット整数型 dtype = 'int32' dtype = 'i4' ■符号あり32ビット整数型 dtype = 'int64' dtype = 'i8' ■符号あり64ビット整数型 dtype = 'uint8' dtype = 'u1' ■符号なし8ビット整数型 dtype = 'uint16' dtype = 'u2' ■符号なし16ビット整数型 dtype = 'uint32' dtype = 'u4' ■符号なし32ビット整数型 dtype = 'uint64' dtype = 'u8' ■符号なし64ビット整数型 dtype = 'float16' dtype = 'f2' ■半精度浮動小数点型(符号部1ビット、指数部5ビット、仮数部10ビット) dtype = 'float32' dtype = 'f4' ■単精度浮動小数点型(符号部1ビット、指数部8ビット、仮数部23ビット) dtype = 'float64' dtype = 'f8' ■倍精度浮動小数点型(符号部1ビット、指数部11ビット、仮数部52ビット) dtype = 'float128' dtype = 'f16' ■四倍精度浮動小数点型(符号部1ビット、指数部15ビット、仮数部112ビット) dtype = 'complex64' dtype = 'c8' ■複素数(実部・虚部がそれぞれfloat32) dtype = 'complex128' dtype = 'c16' ■複素数(実部・虚部がそれぞれfloat64) dtype = 'complex256' dtype = 'c32' ■複素数(実部・虚部がそれぞれfloat128) dtype = 'bool' dtype = '?' ■ブール型(True or False) dtype = 'unicode' dtype = 'U' ■Unicode文字列 dtype = 'object' dtype = 'O' ■Pythonオブジェクト型 *'''matplotlib.pyplotオブジェクト変数名.plot(引数1,引数2)''' *'''matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.plot(引数1,引数2)''' :グラフを生成するmatplotlib.pyplotオブジェクト変数名.plot関数です。 :グラフを生成するmatplotlib.axes._subplotsAxesSubplotオブジェクト変数名.plot関数です。 :例 matplotlib.pyplotオブジェクト変数名.plot(x, y) import matplotlib.pyplot as pl pl.plot(x, y) あるいは x =[1, 2, 3, 4, 5] y =[1, 2, 3, 4, 5] fig = pl.figure() axis = fig.add_subplot(1,1,1) axis.plot(x, y) :引数1はデカルト座標系でいうところのX軸(横方向) 省略不可で'''指定が必須''' :引数2はデカルト座標系でいうところのY軸(縦方向) 省略不可で'''指定が必須''' :通常引数には数列や配列など変化を伴う数値を保持する変数を指定します。 *'''matplot.pyplotオブジェクト.figure''' グラフを生成するmatplotlib.pyplotオブジェクト変数名.figure(figsize=(8, 6)) :引数1にはグラフの大きさを指定することができる。単位はインチで縦、横の順番でfigsize=(8, 6)のように指定する。8,6はデフォルトの値。 import matplotlib.pyplot as pl fig = pl.figure(figsize=(8, 6)) *'''matplotlib.figure.Figureオブジェクト変数名.subplots_adjust(hspace=xxx, wspace=xxx)''' グラフを生成するmatplotlib.figure.Figureオブジェクト変数名.subplots_adjust(hspace=xxx, wspace=xxx) 左右の余白は wspace、上下の余白は hspace で指定します。デフォルト値は上下間 左右間 共に0.2で、上下はデフォルトだとグラフタイトルと目盛りが重なりやすいようです。上下左右にグラフを並べない場合は特に意味は無い指定になります。 import matplotlib.pyplot as pl fig = pl.figure() fig.subplots_adjust(wspace=0.4, hspace0.4) *'''matplotlib.figure.Figureオブジェクト変数名.add_subplot''' 一つの描画エリアにグラフを複数を作成する関数 matplotlib.figure.Figureオブジェクト変数名.add_subplot(引数1,引数2,引数3) 例 import matplotlib.pyplot as pl import numpy as np x = np.arange(0, 100, 1) y = np.sin(x * np.pi / 30) params = ["sample1","sample2","sample3","sample4"] fig = pl.figure(figsize=(8,6)) fig.subplots_adjust(hspace=0.5) for i, p in enumerate(params, 1): ax = fig.add_subplot(2, 2, i) :引数1は作成するグラフの行数 :引数2は作成するグラフの列数 :引数3はグラフインデックス位置指定番号 左上隅から順番に右へと番号が振られていて、一番右まで行ったら一つ下の左隅から番号が振られ、最後は右隅で番号が終わる。表の中でセルが結合したような形式のグラフ配置になっているような複雑なグラフをadd_subplot関数で作成することはできないので、複雑な配置を実現したい場合は違う方法を用いる。matplotlibライブラリのgridspecオブジェクトにあるGridSpec関数とpyplot オブジェクトのsubplot関数で複雑な引数を指定することで特殊な配置にすることができます。あるいはpyplot オブジェクトのaxes関数で複雑な指定をするとPicture in Pictureみたいにグラフの中にグラフを配置することもできます。後ほど紹介できたらと思います。 :{| class="wikitable" :|- :| 1 || 2 :|- :| 3 || 4 :|} *'''matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.set_xlabel('引数1')''' matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.set_xlabel('time(sec)') axis.set_xlabel('time(sec)') :引数1はデカルト座標系でいうところのX軸(横方向)に表示する軸の意味を表示するための文字列を記述します。 :関数を使う場合は引数の省略は不可で'''指定が必須''' *'''matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.set_ylabel('引数1')''' matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.set_ylabel('voltage(V)') axis.set_ylabel('voltage(V)') :引数1はデカルト座標系でいうところのY軸(縦方向)に表示する軸の意味を表示するための文字列を記述します。 :関数を使う場合は引数の省略は不可で'''指定が必須''' *'''matplotlib.axes._subplotsAxesSubplot.pyplotオブジェクト変数名.set_title('引数1')''' matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.set_title('time vs voltage plot') axis.set_title('time vs voltage plot') :グラフの意味を表示するための文字列を記述します。グラフの上部に表示されます。 :関数を使う場合は引数の省略は不可で'''指定が必須''' *'''matplotlib.axes._subplotsAxesSubplotオブジェクト変数名.grid('引数1')''' : *'''matplotlib.pyplotオブジェクト変数名.show()''' === '''算術関数関係''' === *'''NumPyオブジェクト変数名.pi''' :円周率をあらわす予約語です。およそ3.14159265359として計算されるようになっています。 :円周は直径×円周率で求めることができます。2*半径*piです。面積は半径×半径×円周率で求めることが出来ます。 :その他いろいろな場面で円周率を利用することで問題を解決するのに役立てることが出来ます。 *'''NumPyオブジェクト変数名.sin(引数1)''' :グラフ描画でよく使う算術関数です。 :例 NumPyオブジェクト変数名.sin(2*pi*v) :引数1はラジアンという単位で指定する角度です。単位円の中の三角形の角度に対する弧のことです。 省略不可で'''指定が必須''' :詳しくは[http://www.yo-net.jp/yonewiki/index.php?title=JavaScript_%E6%95%B0%E5%80%A4%E6%BC%94%E7%AE%97#.E4.B8.89.E8.A7.92.E9.96.A2.E6.95.B0_sin.2Fcos.2Ftan.2Fasin.2Facos.2Fatan.2Fatan2 こちら]の解説を確認してみてください。 *'''NumPyオブジェクト変数名.cos(引数1)''' :グラフ描画でよく使う算術関数です。 :例 NumPyオブジェクト変数名.cos(2*pi*v) :引数1はラジアンという単位で指定する角度です。単位円の中の三角形の角度に対する弧のことです。 省略不可で'''指定が必須''' :詳しくは[http://www.yo-net.jp/yonewiki/index.php?title=JavaScript_%E6%95%B0%E5%80%A4%E6%BC%94%E7%AE%97#.E4.B8.89.E8.A7.92.E9.96.A2.E6.95.B0_sin.2Fcos.2Ftan.2Fasin.2Facos.2Fatan.2Fatan2 こちら]の解説を確認してみてください。 *'''NumPyオブジェクト変数名.tan(引数1)''' :グラフ描画でよく使う算術関数です。 :例 NumPyオブジェクト変数名.tan(2*pi*v) :引数1はラジアンという単位で指定する角度です。単位円の中の三角形の角度に対する弧のことです。 省略不可で'''指定が必須''' :詳しくは[http://www.yo-net.jp/yonewiki/index.php?title=JavaScript_%E6%95%B0%E5%80%A4%E6%BC%94%E7%AE%97#.E4.B8.89.E8.A7.92.E9.96.A2.E6.95.B0_sin.2Fcos.2Ftan.2Fasin.2Facos.2Fatan.2Fatan2 こちら]の解説を確認してみてください。 [[Python]]の記事へ戻る
Python グラフ描画用関数
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ