tkplot 生成AI投入用コンテキスト
このファイルは
tkplotを使うコード生成のため、マニュアルとAPIリファレンスを1ファイルへ統合したものです。API名・引数は下記APIリファレンスを優先し、存在しないAPIを推測で作らないでください。ソースコードが同時に与えられた場合はソースコードを最優先します。
tkplot マニュアル
1. 役割
tkplot は、Matplotlib figureへクリック、最近傍データ表示、注釈、crosshair、点・text移動、popup、button、範囲選択を追加するinteractive helperです。tkPlotEvent が互換facade、RangeSelector がdrag範囲選択を担当します。
2. 推奨import
from tkplot import tkPlotEvent, RangeSelector
3. クリックした最近傍データを表示
import matplotlib.pyplot as plt
import numpy as np
from tkplot import tkPlotEvent
x = np.linspace(0.0, 10.0, 101)
y = np.sin(x)
fig, ax = plt.subplots()
line, = ax.plot(x, y, label="sin")
interactive = tkPlotEvent(plt, distance="r")
interactive.add_data({
"label": "sin data",
"plot_type": "2D",
"axis": ax,
"data": [line],
})
interactive.register_click(fig)
plt.show()
interactive.disconnect_all()
distance は "r", "x", "y" のいずれかです。距離はaxis表示範囲で規格化されます。
4. dataset辞書
add_data() に最低限必要なキー:
キー |
内容 |
|---|---|
|
dataset表示名 |
|
|
|
Matplotlib Axes |
任意キー:
data: Line2DやPathCollection。省略時はaxisから収集。xlist,xlabels: click時に追加表示する対応データ。axis_scale: 距離規格化や座標変換に使う別axis。その他metadata。
5. 範囲選択
import matplotlib.pyplot as plt
from tkplot import RangeSelector
fig, ax = plt.subplots()
ax.plot([0, 1, 2], [1, 3, 2])
def selected(x0, x1, y0, y1):
xmin, xmax = sorted((x0, x1))
print("x range:", xmin, xmax)
selector = RangeSelector(
mode="x",
axis=ax,
on_selected=selected,
)
plt.show()
selector.disconnect()
mode="x", "y", "xy" を使えます。callbackへ渡される端点はdrag方向のままで、昇順保証はありません。必要なら sorted() してください。
6. その他のcontroller
tkPlotEvent から次の登録メソッドを利用できます。
register_annotation_event()register_move_points_event()register_move_text_event()register_follow_mouse_event()register_popup_menu_event()add_button()/add_stop_button()
これらは内部controllerへ委譲します。詳細なstate fieldと引数はAPIリファレンスを参照してください。
7. lifecycle
Matplotlibのevent connectionを保持するため、interactive objectをlocal一時変数だけにせず、figure表示中は参照を保持してください。
fig._tkplot_event = interactive
fig._range_selector = selector
終了時は disconnect_all() または RangeSelector.disconnect() を呼びます。
8. GUI backend上の注意
notebook inline backendではmouse eventの一部が制限されます。
popupはTk系環境への依存があります。
redrawやdrag中の性能はdata点数とbackendに依存します。
tkPlotEventのconstructor第1引数はmatplotlib.pyplot相当objectです。
9. 生成AI向けコード生成ルール
tkPlotEvent(plt)とし、FigureやAxesを第1引数にしない。add_data()にはlabel,plot_type,axisを必ず渡す。Line2Dとscatterではartistデータ取得方法が異なるため、
plot_typeを正しく指定する。selector/callback objectの参照をfigure表示中保持する。
範囲端点の大小を自動保証しない。
GUI終了時にeventをdisconnectする。
画像保存だけのnoninteractive scriptに不要なevent登録を追加しない。
tkplot APIリファレンス
対象ソース:
tklib2.zip(解析日: 2026-08-03)。この文書はソースコードを静的解析して生成しています。
APIの読み方
パッケージ公開APIは、原則としてトップレベルの
__all__に含まれる名前です。モジュールAPIには、公開名(先頭が
_でない関数・クラス・メソッド)を列挙しています。docstringがないAPIでは、シグネチャとソースパスを一次情報として扱ってください。
生成AIは、この文書に存在しない引数・戻り値・メソッドを推測で追加しないでください。
パッケージ公開API
from tkplot import (
tkPlotEvent,
RangeSelector,
)
名前 |
推奨用途 |
|---|---|
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
モジュール一覧
モジュール |
ソース |
関数 |
クラス |
|---|---|---|---|
|
|
0 |
0 |
|
|
0 |
0 |
|
|
0 |
1 |
|
|
0 |
2 |
|
|
1 |
0 |
|
|
0 |
1 |
|
|
0 |
2 |
|
|
0 |
1 |
|
|
0 |
2 |
|
|
0 |
2 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
1 |
0 |
tkplot
ソース: tkplot/__init__.py
このモジュールには静的解析で検出された公開関数・クラス・定数はありません。
tkplot.tkplotevent
ソース: tkplot/tkplotevent/__init__.py
このモジュールには静的解析で検出された公開関数・クラス・定数はありません。
tkplot.tkplotevent.tkannotation
ソース: tkplot/tkplotevent/tkannotation.py
class tkAnnotationController
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkAnnotationController(events)
メソッド/プロパティ
method tkAnnotationController.prepare
def prepare(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkAnnotationController.add_line
def add_line(self, label, axis, ref_axis, x_list, y_list, line, inf_list = None, annotation_format = None, inf_format = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkAnnotationController.activate
def activate(self, flag = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkAnnotationController.register
def register(self, fig, activate = True, on_mouse_move = None, on_click = None, print_level = 0)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkcoords
ソース: tkplot/tkplotevent/tkcoords.py
function convert_axes_coordinates
def convert_axes_coordinates(x, y, source_axis, target_axis)
Convert data coordinates between Matplotlib axes via display coordinates.
tkplot.tkplotevent.tkcrosshair
ソース: tkplot/tkplotevent/tkcrosshair.py
class tkCrosshairController
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkCrosshairController(events)
メソッド/プロパティ
method tkCrosshairController.add
def add(self, ax, line = 'dashed', width = 0.5, marker = None, size = 3.0, color = 'red')
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkCrosshairController.activate
def activate(self, flag = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkCrosshairController.register
def register(self, fig, activate = True, on_mouse_move = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkdataset
ソース: tkplot/tkplotevent/tkdataset.py
class tkPlotData
ソース内docstringはありません。シグネチャと実装を参照してください。
データクラス相当の初期化フィールド
tkPlotData(label: str, plot_type: str, axis: Any, data: list[Any], xlist: Any = None, xlabels: Any = None, axis_scale: Any = None, metadata: dict[str, Any])
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
メソッド/プロパティ
method tkPlotData.as_legacy_dict
def as_legacy_dict(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
class tkDataSetRegistry
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkDataSetRegistry()
メソッド/プロパティ
method tkDataSetRegistry.add
def add(self, axis_inf = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkDataSetRegistry.remove
def remove(self, index_or_label)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkeventmanager
ソース: tkplot/tkplotevent/tkeventmanager.py
class tkEventManager
Own Matplotlib callback IDs and prevent accidental duplicate registration.
コンストラクタ
tkEventManager()
メソッド/プロパティ
method tkEventManager.connect
def connect(self, fig, event_name, callback, key = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkEventManager.disconnect
def disconnect(self, key)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkEventManager.disconnect_figure
def disconnect_figure(self, fig)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkEventManager.disconnect_all
def disconnect_all(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkmovable
ソース: tkplot/tkplotevent/tkmovable.py
class tkMovablePointController
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkMovablePointController(events)
メソッド/プロパティ
method tkMovablePointController.add
def add(self, ax, x, y, marker = 'o', picker = 15, color = 'red')
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkMovablePointController.register
def register(self, fig)
ソース内docstringはありません。シグネチャと実装を参照してください。
class tkMovableTextController
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkMovableTextController(events)
メソッド/プロパティ
method tkMovableTextController.add_text
def add_text(self, ax, ax_ref, x = None, y = None, x_list = None, y_list = None, x_offset = 0, x_target = None, frac = None, xlim = None, ylim = None, text = 'no name', fontsize = 10, ha = 'center', va = 'center', color = 'black', fc = 'w', ec = 'none', alpha = 0.5)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkMovableTextController.add_annotation
def add_annotation(self, ax, ax_ref, x = None, y = None, x_list = None, y_list = None, x_offset = 0, x_target = None, frac = None, xlim = None, ylim = None, text = 'no name', fontsize = 10, ha = 'center', va = 'center', color = 'black', fc = 'w', ec = 'none', alpha = 0.5)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkMovableTextController.activate
def activate(self, flag = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkMovableTextController.register
def register(self, fig = None, activate = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tknearest
ソース: tkplot/tkplotevent/tknearest.py
class tkHitResult
ソース内docstringはありません。シグネチャと実装を参照してください。
データクラス相当の初期化フィールド
tkHitResult(dataset_index: int, artist_index: int, data_index: int, distance2: float, x: float, y: float, dataset: dict)
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class tkNearestFinder
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkNearestFinder(distance = 'r')
メソッド/プロパティ
method tkNearestFinder.find
def find(self, event, dataset_indices, datasets)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkplotevent
ソース: tkplot/tkplotevent/tkplotevent.py
class tkPlotEvent
Compatibility-oriented facade for interactive Matplotlib helpers.
コンストラクタ
tkPlotEvent(plt, distance = 'r', **kwargs)
メソッド/プロパティ
method tkPlotEvent.add_data
def add_data(self, axis_inf = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.remove
def remove(self, index)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.convert_coord
def convert_coord(self, x0, y0, axis_s, axis_t)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.find_target_axes
def find_target_axes(self, event, axes = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.find_nearest_data
def find_nearest_data(self, x, y, itarget_list, hit_axisinf_list)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.display_data
def display_data(self, iinf, idata, idx, axis_inf)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.onclick
def onclick(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_event
def register_event(self, fig, event = 'button_press_event', callback = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_click
def register_click(self, fig, event = 'button_press_event', callback = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_pick
def register_pick(self, fig, event = 'pick_event', callback = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_redraw
def register_redraw(self, fig, event = 'draw_event', callback = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_key
def register_key(self, fig, event = 'key_press_event', callback = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.onpick
def onpick(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.ondraw
def ondraw(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.onkey
def onkey(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.prepare_annotation
def prepare_annotation(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_annotation_event
def register_annotation_event(self, fig, **kwargs)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.prepare_move_points
def prepare_move_points(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_move_points_event
def register_move_points_event(self, fig)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.prepare_move_text
def prepare_move_text(self, fig = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_move_text_event
def register_move_text_event(self, fig = None, activate = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.register_follow_mouse_event
def register_follow_mouse_event(self, fig, activate = True, on_mouse_move = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.layout
def layout(self, show = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPlotEvent.disconnect_all
def disconnect_all(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkpopup
ソース: tkplot/tkplotevent/tkpopup.py
class tkPopupController
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
tkPopupController(events)
メソッド/プロパティ
method tkPopupController.prepare
def prepare(self, fig, parent = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method tkPopupController.register
def register(self, on_click = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkrangeselector
ソース: tkplot/tkplotevent/tkrangeselector.py
class RangeSelector
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
RangeSelector(mode = 'x', axis = None, color = 'red', linestyle = 'dashed', linewidth = 0.5, print_level = 1, on_selected = None)
メソッド/プロパティ
method RangeSelector.set_mode
def set_mode(self, mode)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.set_active
def set_active(self, flag = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.on_press
def on_press(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.on_mouse_move
def on_mouse_move(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.on_release
def on_release(self, event)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.finalize
def finalize(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.clear
def clear(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RangeSelector.disconnect
def disconnect(self)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkplot.tkplotevent.tkstate
ソース: tkplot/tkplotevent/tkstate.py
function state
def state(**kwargs)
Create a lightweight mutable state container.