0
ネットワーク使用履歴を取得し、渡される関連データの大きさに応じて動的にyの制限を調整するアニメーショングラフがあります。 y制限値の変化を反映するためにy目盛りラベルを取得するにはどうすればよいですか? blit=Flase
すべてのアップデートがうまくいっても、すべてうまく動作しますが、すべてのチックを更新する必要はありません。では、y目盛りラベルを更新または再描画するにはどうすればよいですか?軸の範囲が変更されたときに動的に目盛りとラベルを再配置するために呼び出される関数:matplotlibの目盛りのラベルを動的に更新するには
def resize(self, y_data):
cur_max = max(y_data)
if cur_max > self.ax.get_ylim()[1]: # if cur_max > upper y limit..
self.ax.set_ylim(-1, cur_max + cur_max * .10) # increase upper y limit to fit cur_max
### update/redraw tick labels? ###
if self.ax.get_ylim()[1] * .25 > cur_max > 0: # if 1/4 the upper y limit > cur_max and cur_max > 0...
self.ax.set_ylim(-1, cur_max * .50) # set upper y limit 1/2 its current size
### update/redraw tick labels? ###
ylabelsを更新し、グラフ化されたデータ更新する必要があります。イルミット(0,6)とy = 3のポイントを持っているとしましょう。次に、最初にグラフの中央にあったポイントを(0,10)に更新して、その下側にある必要がありますか?それは、あなたが達成しようとしていることは少し不明です。 'blit = False'を使用すると、私にとってうまくいくようです。 – ImportanceOfBeingErnest
@ImportanceOfBeingErnestグラフ化されるデータのスケールは、ネットワークの負荷に応じて、毎秒数バイトから毎秒数千に劇的に変化します。 1秒あたり数千にジャンプすると、入力データに適した新しいy範囲に拡大縮小するように制限されます。これにより、1秒あたり数十バイトのデータが作成されます。 – HexxNine
@ImportanceOfBeingErnestグラフの線は新しいyスケールでうまく更新され、データが10の位置にある線が効果的に平坦化され、1000のピークを実際にしか表示しません。問題は、y制限が変更されたときにy目盛りラベルが更新されないため、グラフ化された線データが1000にありますが、y目盛りラベルは1〜100を示します。しかし、ウィンドウのサイズを変更すると、y目盛りのラベルが更新されます。だから、解決策は、ウィンドウのサイズが変更されたときに軸/目盛りラベルを再描画するために呼び出されている関数を見つけることだと思いますか? – HexxNine