2

現在、グラフにいくつかのポイントを追加し、特定のポイントごとに注釈を追加しています。ただし、試行するたびに、実際に画面に表示されるのは注釈のサブセットのみです。他の注釈は、デバッグと印刷を介して「そこに」ありますが、何らかの理由で表示されないだけです。私が間違っていることはありますか?

import matplotlib.pyplot as plt

self.fig = plt.figure()
self.ax = self.fig.add_subplot(111, projection='polar')

li = [[0.2, 1], [0.4, 1], [0.6, 1], [0.8, 1], [1, 1]]

for x,y in li:
  point, = self.ax.plot(x, y, marker='o', color='r', markersize=12)
  annotation = self.ax.annotate("Comment goes here",
      xy=(x,y), xycoords='data',
      xytext=(x,y), textcoords='data'
  )

self.fig.canvas.draw()

いくつかのデバッグの後、projection='polar'修正を削除すると問題が修正され、すべての注釈が表示されるようです。バグのある注釈を引き起こす極座標グラフに固有の何かがありますか?

編集:実際には、問題を単純化しすぎた可能性があります。プログラムの単純化されたバージョンを試しましたが、機能しました。私はmatplotlibとgtk+の上に構築された既存のフレームワークを処理しているので、私が気付いていない他の隠れた問題があるかもしれません。

Edit2:問題を追跡しました。更新機能で、グラフ(半径)のylimを1(すべての点と同じ)に設定すると、一部の注釈が消えてしまうようです。理由はわかりませんが、ylimをそのままにしておくと機能します。

4

1 に答える 1

2

ここに画像の説明を入力してください

1.3.xでの再現はありませんmatplotlib.__version__。すべての注釈は、指定された位置に表示されます。

于 2013-03-27T02:03:49.397 に答える