簡體   English   中英

R圖例未按點顯示顏色

[英]R plot legend not showing colors according to points

因此,我在R中作了一個繪圖,用許多不同的顏色指示該點屬於我23個類別中的哪個類別。 點的顏色通過矢量添加(stratumcol,這是一個具有23個級別的因子)。

當我添加圖例時,嘗試讓其顯示顏色及其類別,似乎它們不匹配(使用ordihull測試,請參見下圖)。

這是我的情節代碼:

plot(pca_nmdsscores, type = "n")
points(pca_nmdsscores, col=stratumcol, cex=1.5, pch = 15)
legend("right","top",levels(stratumcol),cex=.8, col = as.numeric(stratumcol), pch =15, lty = 0) # pch = stratumcol
ordihull(pca_nmdsscores, groups = stratumcol,draw = "polygon", col ="purple",label = T, show.groups = "LateMoistRich")
ordihull(pca_nmdsscores, groups = stratumcol,draw = "polygon", col ="blue",label = T, show.groups = "MidWetPoor")

在這里我的Rplot應該可見。 如您所見,我的類別“ MaleMoistRich”將點與淡粉色連接起來,但是在圖例中,該顏色稱為“ MidMoistRich”。

連接中間的藍色點的“ MidWetPoor”也是如此,在圖例中此顏色表示“ LateMoistPoor”。

我該如何解決這個問題?

我嘗試尋找解決方案,但沒有遇到任何可以解決的問題-包括“獨特”(不會更改任何內容,因為我的調色板已定義為23種顏色,因此無論如何都無需回收這些顏色)

[R中的圖,顯示圖例和點顏色] [1]

好的-因為我是新手,所以無法上傳自己的地塊圖片...

但是請在此處查看: http : //i.stack.imgur.com/pzn2y.png

/謝謝

編輯:解決方案是不使用我的水平! 不在圖例=級別(stratumcol)中,也不在col =級別(stratumcol)中。 Richard和DeveauP建議級別可能是問題。

這就產生了一個新問題:我的腿部顯示了整個因素,而不僅僅是其中的水平(而是顏色對應於正確的點顏色,這是最初的問題)。

通過使用“ unique()”而不是“ levels()”解決了這個新問題。

legend("Right","top",legend=unique(stratumcol), cex=.8, col = unique(stratumcol), pch=15, lty=0)

我找到了解決方案

嘗試

legend("right","top",legend = levels(stratumcol),cex=.8, col = levels(stratumcol), pch =15, lty = 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM