1. 程式人生 > >python給scatter設定顏色漸變條colorbar

python給scatter設定顏色漸變條colorbar

python設定scatter顏色漸變

參考程式碼如下:

<span style="font-size:18px;">import matplotlib.pyplot as plt
cm = plt.cm.get_cmap('RdYlBu')
xy = range(20)
z = xy
sc = plt.scatter(xy, xy, c=z, vmin=0, vmax=20, s=35, cmap=cm)
plt.colorbar(sc)
plt.show()</span>

其中get_cmap中取值可為:Possible values are: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r...其中末尾加r是顏色取反。


在自己的程式中,是要繪製出一個網路,使得網路節點的顏色變化來表示度的變化,初步繪製的結果如下:


但是到現在,很不足的一點是,在matplotlib中plt.plot,plt.scatter這兩個不能設定顯示的上下層關係,不管兩句話的順序如何,都是plot在上,scatter在下,想讓scatter在上層。導致繪製圖中的圓點總是被直線覆蓋,目前處理的方式是,將直線透明度設定為alpha = 0.2,可以稍微好看一點。