【pyplot】scatter根据点的label或位置设置不同颜色
生活随笔
收集整理的這篇文章主要介紹了
【pyplot】scatter根据点的label或位置设置不同颜色
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文的核心其實是設置scatter函數中的參數c
以畫三維點為例,2維同樣可以參照修改
以下所有代碼的變量統一解釋:
result是(N,3)的ndarray,表示N個點的三維坐標,label是(N,)的adarray,是N個點的label
根據點的label給點上色的三種方式
import matplotlib.pyplot as plt ax = plt.subplot(1,1,1,projection='3d') #第一種上色方式,映射到提供的cmap上 x = result[:,0] y = result[:,1] z = result[:,2] ax.scatter(x, y, z, c=[label], cmap='viridis',alpha = 0.2) pyplot.show()其中alpha = 0.2表示點的透明度為0.2
#第二種上色方式,同樣是映射到某些特定顏色上 x = result[:, 0] y = result[:, 1] z = result[:, 2] ax.scatter(x, y, z, color= plt.cm.Set1(label / 10.),alpha = 0.2) pyplot.show() #第三種上色方式,遍歷點的類別,分別用自己設定的顏色給每個類別的點上色 #此處點有6類,使用時按自己情況修改colors列表和range中的值 colors = ['b', 'c', 'g', 'k', 'm', 'r'] for index in range(6):x = result[np.where(label == index),0]y = result[np.where(label == index),1]ax.scatter(x, y, z, c=colors[index], alpha=0.2) pyplot.show()根據點的位置上色
比如:點的三維坐標(假設點的坐標result已歸一化到[0,255])分別代表rgb三個通道的值
此時參數c根據RGB值設定點的顏色
總結
以上是生活随笔為你收集整理的【pyplot】scatter根据点的label或位置设置不同颜色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟现实技术会带来网吧的新春天吗?
- 下一篇: 微信 公众号用户授权流程