2013-02-15 58 views
1
data = np.array(number_list) 
self.fig = plt.Figure() 
self.ax = self.fig.add_subplot(1,1,1) 


N = data.max() + 5 
self.ax.set_xlim(0,N) 
self.ax.set_ylim(0,N) 
self.ax.invert_yaxis() 

self.ax.get_xaxis().set_visible(False) 
self.ax.get_yaxis().set_visible(False) 
self.ax.set_aspect('equal') 
this = self.ax.scatter(data[:,1], data[:,0],color= 'black', marker = 's', s=3) 

self.fig.colorbar(this, ticks=[-1, 0, 1],orientation='horizontal') 

self.canvas = FigureCanvas(self, -1, self.fig) 
self.toolbar = NavigationToolBar(self.canvas) 
    self.vbox = wx.BoxSizer(wx.VERTICAL) 
    self.vbox.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW) 
self.vbox.Add(self.toolbar,0,wx.EXPAND) 
    self.vbox.AddSpacer(25) 
    self.SetSizer(self.vbox) 
    self.vbox.Fit(self) 

我曾嘗試創建一個「附加」顏色條,但是我得到錯誤TypeError: You must first set_array for mappable。該圖是一個矩陣圖。 我在哪裏出錯?顏色條附加到圖

+0

您的錯誤發生在哪裏?什麼線? – YXD 2013-02-15 16:22:47

+0

你能修好你的縮進嗎? – tacaswell 2013-02-15 16:24:32

回答

2
this = self.ax.scatter(data[:,1], data[:,0],color= 'black', marker = 's', s=3) 

self.fig.colorbar(this, ticks=[-1, 0, 1],orientation='horizontal') 

問題出現在這些行中。您已將所有標記設置爲固定顏色,因此顏色條沒有任何意義。如果你想使用colorbar你需要通過映射標量來設置標記的顏色 - >顏色,例如:

this = self.ax.scatter(data[:,1], data[:,0],color=color_data, marker = 's', s=3) 

self.fig.colorbar(this, ticks=[-1, 0, 1],orientation='horizontal') 

其中len(color_data) == len(data[:,0],是一維數組狀物體。