2014-04-15 155 views
1

我目前各有幾個散點圖在自己的子情節。該數據被格式化的方式是:定製Matplotlib彩條的散點圖

ID, X, Y, Colors, Area 
0, x1, y1, r, 1 
1, x2, y2, g, 1 
2, x3, y3, r, 3 
3, x4, y4, b, 4 
.... 
n, xn, yn, g, 3 

所以,當我繪製的散點圖,它看起來像ax.scatter(X, Y, color=Colors) 因此,每個點或者紅色,綠色或藍色,因此。我每個Area都有不同的散點圖。

我想在旁邊創建自定義顏色條,顯示三種顏色(紅,綠,藍),並與每個顏色相關聯的標籤。在這種情況下,它是一個收入支架。

到目前爲止,谷歌搜索使我考慮創建一個自定義顏色表,然後使用該顏色映射在它自己的插曲密謀彩條。但是我從來沒有使用自定義色圖我很茫然的一點點前通過matplotlib例子去的時候。

到目前爲止,我有這個,但我敢肯定它只是隨機whatnots(一切都是爲了給我的是在AX3插曲灰度顏色映射):

cdict1 = {'red': ((0,0,0),(1,1,1)), 
     'green': ((0,0,0),(1,1,1)), 
     'blue': ((0,0,0),(1,1,1))} 
rgbtest = LinearSegmentedColormap('test', cdict1) 
plt.register_cmap(name='test', data=cdict1) 
cmap = plt.get_cmap('test') 
matplotlib.colorbar.ColorbarBase(ax3, cmap=rgbtest) 

有什麼建議?我希望這是有道理的。謝謝。乾杯

回答

0

我結束了這是怎麼回事。我不確定這是否是最好的方法 - 如果您有其他建議,也許我可以向他們學習以備將來使用!

cmap = matplotlib.colors.ListedColormap(['green', 'blue', 'red']) 
bounds=[0,125,200,400] 
cax = inset_axes(ax3, width="8%", height='70%', loc=4) 
cbar = matplotlib.colorbar.ColorbarBase(cax, cmap=cmap, boundaries=bounds) 
cax.yaxis.set_ticks_position('left') 
cbar.ax.set_yticklabels(['0', '125', '200', '200+']) 
cax.yaxis.set_label_position('left') 
cbar.set_label('Income (,000s)')