値に基づいて異なる色でグラフをプロットしたい。以下のコードを書きました、
np_graph <- data.frame(C1 = -5:5, C2 = -5:5)
x=np_graph2$C1
y=np_graph2$C2
plot(x,y,xlab="PC1",ylab="PC2")
ここで、Xの値が> 0である場合、その値は緑(グラフ内)になっているはずです。 Yの値が0より大きい場合、その値は赤で表示されます(グラフ内)。
誰かがこれで私を助けることができますか?
引数col
は色を設定します。これはifelse
ステートメントと組み合わせて使用できます。詳細については、?plot
を参照してください。
# using base plot
plot(x,y,xlab="PC1",ylab="PC2", col = ifelse(x < 0,'red','green'), pch = 19 )
ggplot2
で同じことを行うには。
#using ggplot2
library(ggplot2)
ggplot(np_graph) + geom_point(aes(x = C1, y = C2, colour = C1 >0)) +
scale_colour_manual(name = 'PC1 > 0', values = setNames(c('red','green'),c(T, F))) +
xlab('PC1') + ylab('PC2')