日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【pyplot】scatter根据点的label或位置设置不同颜色

發布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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值設定點的顏色

colors = result ax.scatter(x, y, z, c=colors, alpha=0.2)

總結

以上是生活随笔為你收集整理的【pyplot】scatter根据点的label或位置设置不同颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。