tkplot プログラム仕様

概要: matplotlibを用いたプロット機能を提供するモジュール。

詳細説明: tkObjectを継承し、matplotlibの機能をラップして、複数のサブプロットや動的なプロット更新を 容易にするユーティリティを提供します。2D/3Dプロット、等高線図などの描画に対応しています。

関連リンク: tkplot.py ライブラリ技術ドキュメント

class tklib.tkgraphic.tkplot.tkPlot(figsize=None, **kwargs)[ソース]

ベースクラス: tkObject

概要: matplotlibのプロット機能を提供するクラス。

詳細説明: 複数のサブプロットを管理し、2D/3Dプロット、等高線図などの描画機能を提供します。 tkObjectを継承しているため、tklibのフレームワーク内で利用可能です。

add_subplot(nrows=1, ncols=1, index=0, **kwargs)[ソース]

概要: matplotlib.figureに新しいサブプロットを追加します。

詳細説明: matplotlib.pyplot.subplotの機能を継承していますが、インデックスのカウント方法が0から始まります。 新しいサブプロットオブジェクトを作成し、self.axesリストに追加して返します。 各サブプロットには、linelist, xlist, ylist, zlistというカスタム属性が初期化されます。

パラメータ:
  • nrows -- (int, optional) グリッドの行数です。デフォルトは1です。

  • ncols -- (int, optional) グリッドの列数です。デフォルトは1です。

  • index -- (int, optional) サブプロットのインデックス(0からカウント)。元のmatplotlibの定義とは異なり、0から始まります。デフォルトは0です。

  • kwargs -- (dict) matplotlib.figure.add_subplotに渡される追加キーワード引数です。

戻り値:

(matplotlib.axes.Axes) 追加されたサブプロットオブジェクト。

adjust_list(n)[ソース]

概要: サブプロットのリストself.axesのサイズを調整します。

詳細説明: 指定されたインデックスnまでself.axesリストが拡張され、必要に応じてNoneが追加されます。 これにより、存在しないインデックスにアクセスしようとしたときにエラーが発生するのを防ぎます。

パラメータ:

n -- (int) リストを調整する目標の最大インデックスです。

initialize(**kwargs)[ソース]

概要: tkObjectとしてのオブジェクトを初期化します。

詳細説明: 親クラスtkObjectのinitializeメソッドを呼び出します。

パラメータ:

kwargs -- (dict) 親クラスのinitializeメソッドに渡されるキーワード引数です。

pause(duration=0.001, **kwargs)[ソース]

概要: 指定した時間だけプロットを一時停止し、GUIイベントを処理します。

詳細説明: matplotlib.pyplot.pauseを呼び出し、プロットウィンドウを更新します。 アニメーションやインタラクティブな描画の際に使用されます。

パラメータ:
  • duration -- (float) 一時停止する時間(秒)です。デフォルトは0.001秒です。

  • kwargs -- (dict) matplotlib.pyplot.pauseに渡される追加キーワード引数です。

plot(iaxes=0, xd=None, yd=None, color='blue', linestyle='', linewidth=0.5, fillstyle='full', marker='', markersize=5, **kwargs)[ソース]

概要: 指定されたサブプロットに2次元データをプロットします。

詳細説明: matplotlib.axes.Axes.plotを呼び出し、データとスタイルに基づいて線グラフを描画します。 描画された線オブジェクトとデータは、サブプロットのlinelist, xlist, ylistに格納されます。

パラメータ:
  • iaxes -- (int, optional) プロット対象のサブプロットのインデックスです。デフォルトは0です。

  • xd -- (array-like, optional) X軸のデータです。

  • yd -- (array-like, optional) Y軸のデータです。

  • color -- (str, optional) 線の色です。デフォルトは'blue'です。

  • linestyle -- (str, optional) 線のスタイルです。デフォルトは'' (実線)です。

  • linewidth -- (float, optional) 線の幅です。デフォルトは0.5です。

  • fillstyle -- (str, optional) マーカーの塗りつぶしスタイルです。デフォルトは'full'です。

  • marker -- (str, optional) マーカーのスタイルです。デフォルトは'' (マーカーなし)です。

  • markersize -- (float, optional) マーカーのサイズです。デフォルトは5です。

  • kwargs -- (dict) matplotlib.axes.Axes.plotに渡される追加キーワード引数です。

戻り値:

(list) 描画されたLine2Dオブジェクトのリスト。

plot_contour(iaxes=0, xd=None, yd=None, zd=None, levels=51, cmap='Spectral', **kwargs)[ソース]

概要: 指定されたサブプロットに2次元の等高線図または塗りつぶし等高線図をプロットします。

詳細説明: matplotlib.axes.Axes.contourまたはmatplotlib.axes.Axes.contourfを呼び出して等高線図を描画します。 cmapが'line'の場合は線等高線図(contour)を、それ以外の場合は塗りつぶし等高線図(contourf)を描画します。 kwargsに'aspect'が含まれている場合、アスペクト比を設定します。 描画された等高線オブジェクトとデータは、サブプロットのlinelist, xlist, ylist, zlistに格納されます。

パラメータ:
  • iaxes -- (int, optional) プロット対象のサブプロットのインデックスです。デフォルトは0です。

  • xd -- (array-like, optional) X座標のグリッドデータです。

  • yd -- (array-like, optional) Y座標のグリッドデータです。

  • zd -- (array-like, optional) Z座標のグリッドデータです。

  • levels -- (int or array-like, optional) 描画する等高線の数、または特定の等高線レベルのリストです。デフォルトは51です。

  • cmap -- (str or matplotlib.colors.Colormap, optional) 等高線図の色マップです。'line'を指定すると線等高線図になります。デフォルトは'Spectral'です。

  • kwargs -- (dict) matplotlib.axes.Axes.contourまたはcontourfに渡される追加キーワード引数です。また、'aspect'キーでアスペクト比を設定できます。

戻り値:

(matplotlib.contour.ContourSet) 描画された等高線オブジェクト。

plot_wireframe(iaxes=0, xd=None, yd=None, zd=None, rstride=2, cstride=2)[ソース]

概要: 指定されたサブプロットに3次元のワイヤーフレーム表面をプロットします。

詳細説明: matplotlib.axes.Axes.plot_wireframeを呼び出し、3次元データをワイヤーフレームとして描画します。 描画された表面オブジェクトとデータは、サブプロットのlinelist, xlist, ylist, zlistに格納されます。

パラメータ:
  • iaxes -- (int, optional) プロット対象のサブプロットのインデックスです。デフォルトは0です。

  • xd -- (array-like, optional) X座標のグリッドデータです。

  • yd -- (array-like, optional) Y座標のグリッドデータです。

  • zd -- (array-like, optional) Z座標のグリッドデータです。

  • rstride -- (int, optional) 行方向のストライド(ステップサイズ)です。デフォルトは2です。

  • cstride -- (int, optional) 列方向のストライド(ステップサイズ)です。デフォルトは2です。

戻り値:

(mpl_toolkits.mplot3d.art3d.Line3DCollection) 描画されたワイヤーフレームオブジェクト。

set_axtitle(iaxes, title)[ソース]

概要: 指定されたサブプロットのタイトルを設定します。

詳細説明: matplotlib.axes.Axes.set_titleを呼び出して、サブプロットのタイトルを設定します。

パラメータ:
  • iaxes -- (int) タイトルが設定されるサブプロットのインデックスです。

  • title -- (str) サブプロットに設定するタイトル文字列です。

set_data(iaxes, ilines, idx, xt, yt)[ソース]

概要: 既存のプロット線のデータを更新します。

詳細説明: 指定されたサブプロット、線、インデックスのLine2Dオブジェクトのデータを更新します。 主に動的なプロット更新(アニメーションなど)に使用されます。

パラメータ:
  • iaxes -- (int) データが更新されるサブプロットのインデックスです。

  • ilines -- (int) データが更新される線のリスト内のインデックスです。

  • idx -- (int) 更新される線の、linelist[ilines] 内のインデックスです。通常は0です。

  • xt -- (array-like) 新しいX軸データです。

  • yt -- (array-like) 新しいY軸データです。

show(**kwargs)[ソース]

概要: すべての開いているプロットウィンドウを表示します。

詳細説明: matplotlib.pyplot.showを呼び出し、ブロックモードでプロットを表示します。 このメソッドが呼び出されると、通常はプロットウィンドウが閉じられるまでプログラムの実行がブロックされます。

パラメータ:

kwargs -- (dict) matplotlib.pyplot.showに渡される追加キーワード引数です。

sleep(duration)[ソース]

概要: 指定した時間だけプログラムの実行を停止します。

詳細説明: time.sleepを呼び出し、スレッドの実行を一時停止します。 これはプロットの更新とは直接関係なく、一般的な時間遅延のために使用されます。

パラメータ:

duration -- (float) 停止する時間(秒)です。