我正在尝试按照这个看似优秀的教程使用 ggplot2 绘制 k-means 集群,但我似乎无法保留我想要的调色板。
我尝试了什么(工作示例)
以下两个图都产生相同的结果:
test.data <- data.frame(col1=rnorm(400),col2=(rnorm(400)+5))
test.km <- kmeans(test.data,2)
test.data$cluster <- factor(test.km$cluster)
centers <- as.data.frame(test.km$centers)
ggplot(data=test.data, aes(x=col1, y=col2, color=cluster )) +
scale_fill_brewer(palette="Set2") +
geom_point() +
geom_point(data=centers, aes(x=col1,y=col2, color='Center')) +
geom_point(data=centers, aes(x=col1,y=col2, color='Center'),
size=52, alpha=.3, show_guide=FALSE)
ggplot(data=test.data, aes(x=col1, y=col2, color=cluster )) +
scale_fill_brewer(palette="Set2") +
geom_point() +
geom_point(data=centers, aes(x=col1,y=col2, color='Center')) +
geom_point(data=centers, aes(x=col1,y=col2, color='Center'),
size=52, alpha=.3, show_guide=FALSE) +
scale_fill_brewer(palette="Set2")
奇怪的是,如果我只是用比例填充功能绘制原始数据点,颜色就会改变:
ggplot(data=CSP.split, aes(x=CSP1, y=CSP2, color=cluster )) +
scale_fill_brewer(palette="Set2") +
geom_point()
第一个图像看起来像默认的 ggplot 颜色,即 HSL 色轮周围均匀分布的色调。所以我认为geom_point
具有不同数据的系列以某种方式覆盖了调色板。不过,我没有收到任何警告。