[英]matplotlib: scatter and colorbar values
我有數據:
values = np.array( [0,1,2,3,4,5] )
我想以不同的大小和顏色將values
繪制為pyplot.scatter
。 另外,我想調整點的大小,以便最小的點清晰可見。
如果我做:
sc = pyplot.scatter ( pos_x, pos_y, values )
pyplot.colorbar( sc )
然后我得到了正確的值和顏色,但是最小的點太小了 。 現在,如果我這樣做:
values_scaled = (values * 2 + 1)
sc = pyplot.scatter ( pos_x, pos_y, values_scaled )
pyplot.colorbar( sc )
那么這些點的大小就可以接受了(盡管有些假),但是顏色條的圖例從1開始到11結束,這是我不想要的。 我只想縮放點的大小 ,而不縮放那里分配的值 。 怎么做?
matplotlib.pyplot.scatter函數采用一個可選的關鍵字參數s
,它是“以磅為單位的大小^ 2。它是一個標量或長度與x和y相同的數組” 。 因此,只需將values_scaled
數組作為此參數的值傳遞,並將顏色數據(可選的c
關鍵字參數)保留為values
,即:
sc = pyplot.scatter(pos_x, pos_y, c=values, s=values_scaled)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.