3

多数の散布点をプロットしてから、キャンバスを再描画しました。

self.display_points = ax.scatter(x,y)
wx.CallAfter(self.display.canvas.draw)

色を含むオブジェクトがあります。ユーザーがGUIから変更した場合、データを再プロットせずにポイントの色を変更できるようにしたいと思います。

def _color_changed(self):
    if hasattr(self, '_display_points'): 
        self._display_points.set_facecolors(self.color)
        wx.CallAfter(self.display.canvas.draw)

これは、マーカーのサイズとマーカーのタイプに対してどのように行われますか...つまり。プロットされた各コンポーネントを変更するには、何を含める必要Xがありますか。_display_points.set_Xこれらの属性を見つけることができる場所はありますか?ありがとう。

4

1 に答える 1

3

scatterオブジェクトを返しPathCollectionます。これは、事後に設定するためのAPIが比較的制限されていることがわかります。クラスのCollectionファミリーは、より効率的な描画のために後で更新する機能を交換します。

各ポイントのサイズと色を個別に設定するスキャッターの機能を使用していない場合は、使用する方がはるかに優れています。

self.display_points, = ax.plot(x, y, marker='o', linestyle='none')

これにより、Line2Dオブジェクトが元に戻り、散布図と同じように見えます。 およびを含むLine2Dはるかに柔軟なAPIがあります。set_markerset_markersize

于 2013-02-15T00:08:23.113 に答える