R中KNN簇的外观控制

Appearance control of KNN clusters in R

我偶然发现了关于 R 中的 KNN 聚类的可视化问题。在下面的 link 中: 第一个答案明确显示了如何在 R 中绘制 KNN 聚类。

我的问题是,根据该代码,如何控制两个簇的颜色和符号类型?

我是 Stack 的新用户,几乎无法在上面 link 的问题中添加评论。因此,如果有人能提供帮助或提示,我将不胜感激。

提前致谢:)

您所要做的就是将 scale_fill_manualscale_shape_manual 添加到绘图中,以指定颜色和形状。

ggplot(plot.df, aes(Sepal.Length, Sepal.Width, color = predicted, fill = predicted, shape = predicted)) + 
  geom_point(size = 5) + 
  geom_polygon(data = boundary, aes(x,y), alpha = 0.5) + 
  scale_shape_manual(values = c("setosa" = 0, "versicolor" = 12, "virginica" = 17)) + 
  scale_fill_manual(values = c("setosa" = "red", "versicolor" = "green", "virginica" = "orange"))

颜色和形状由 aes() 和图层 scale_* 控制。
如果要合并每个美学的图例,请将 names 设置为相同的字符串,在下面的代码中我将 "predicted" 替换为 "Cluster"。尝试保留 scale_ 之一的名字并查看结果。

ggplot(plot.df, aes(Sepal.Length, Sepal.Width, 
                    color = predicted, fill = predicted, shape = predicted)) + 
  geom_point(size = 5) + 
  geom_polygon(data = boundary, aes(x,y), alpha = 0.5) +
  #
  scale_color_manual(name = "Cluster", values = c("red", "green", "blue")) +
  scale_fill_manual(name = "Cluster", values = c("red", "green", "blue")) +
  scale_shape_manual(name = "Cluster", values = c(22, 23, 24))