[英]Plot data point according to their class labels in Python
我正在嘗試繪制顏色對應於其類標簽的數據點。 在數據可視化方面,我對R更熟悉。 在R中,我將執行以下操作:
x = matrix(runif(100), 2, 20)
y = matrix(runif(100), 2, 20)
labels = c(rep(0, 20), rep(1, 20))
plot(rbind(x, y), col = labels)
然后,我將能夠散布兩個類別的數據點的散點圖,它們的點顏色是標簽。 我不確定如何在python中執行此操作。 到目前為止,我所做的是
import numpy
plot(numpy.vstack((x,y)), c = labels)
但是顯然python不喜歡顏色的整數值。...您的幫助將不勝感激!
您走在正確的軌道上。 您有三個數據向量: x
, y
和c
,其中c
是帶有類標簽的整數數組。
您可以做的最簡單的事情是:
import matplotlib.pyplot as plt
import numpy as np
# create some random data grouped into three groups
x = np.random.random(100)
y = np.random.random(100)
c = np.random.choice(range(3), 100)
# plot the data
fig = plt.figure()
ax = fig.add_subplot(111)
# plot x,y data with c as the color vector, set the line width of the markers to 0
ax.scatter(x, y, c=c, lw=0)
這給您:
如果要進一步控制顏色,甚至可以創建自己的顏色表,例如:
mycolors = np.array([ 'g', 'm', 'c' ])
ax.scatter(x, y, c=mycolors[c], lw=0)
現在,顏色為0 =綠色,1 =洋紅色,2 =青色:
當然,您也可以指定三色(RGB)或四色(RGBA)代替顏色名稱。 這使您可以進行更精細的控制。
您也可以使用內置的顏色圖或創建自己的顏色圖。 我只是發現上述解決方案對於離散數據(只有很少的可能值)最為透明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.