1

アジレント スコープからスコープ トレースを読み取る GUI を TKinter で作成しました。time/div を変更したときに x 軸を更新したい。x と y のデータを更新するには、 and を使用set_xdataset_ydataます。x 制限を更新する同様の方法はありますか?

4

2 に答える 2

1

オブジェクト階層について少し理解する必要があります。オブジェクトに関連付けられているオブジェクト(対数対線形、x / y制限、軸ラベル、目盛りの位置とラベルなどを処理する)に関連付けられているオブジェクト(グループ化されたオブジェクト)を呼び出していset_xdata ます多数の軸オブジェクト、ウィンドウ マネージャー (GUI 用) などを処理) およびオブジェクト (実際には、他のすべてのオブジェクトを画面上の画像に変換する処理を処理します)。Line2DArtistAxesFigurecanvas

Tkinter を使用している場合は、axesオブジェクトがあると仮定します (これを と呼びますax)。

ax = fig.subplot(111) # or where ever you want to get you `Axes` object from.
my_line = ax.plot(data_x, data_y)
# whole bunch of code
#
# more other code


# update your line object
my_line.set_xdata(new_x_data)
my_line.set_ydata(new_y_data)

# update the limits of the axes object that you line is drawn on.
ax.set_xlim([top, bottom])
ax.set_ylim([left, right])

そのため、ラインのデータを更新するには、更新する必要がmy_lineあり、軸の範囲を更新するには、更新する必要がありますax

set_xlim ドクset_ylim ドク

于 2013-01-25T06:00:10.287 に答える
0

このpyplot.xlim()関数は、(現在の軸の)x軸の範囲を変更します。

Axesのset_xticks()メソッドはティックを設定します。現在の軸は、たとえば。を使用して取得できますgca()

于 2013-01-25T02:26:00.113 に答える