我正在尝试使用ggplot2跟踪this seemingly excellent tutorial绘制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
系列会以某种方式覆盖调色板。不过,我没有收到任何警告。