R 来自同一hclust对象的绘图之间的颜色变化需要统一,以便用户体验

R 来自同一hclust对象的绘图之间的颜色变化需要统一,以便用户体验,r,ggplot2,R,Ggplot2,我正在尝试创建一个集群评估工具。通过3个情节。 但是颜色不一致。因此,一个簇在一个图中可能是蓝色的,但在另一个图中可能是黄色的。不方便使用 下面的函数可以提供给任何Hclust对象,它将生成3个绘图。树状图、聚类图和轮廓图。颜色与后两种一致,但树状图的颜色不同。我认为这就是这个情节的层次性。因此,分开的拳头获得第一种颜色。但我不确定。因为所有对象都具有相同的对象和相同的簇标签(1、2等)。这种错误的颜色真的很困扰我,我不知道该怎么解决它。如果你知道为什么会这样,或者有解决办法,我洗耳恭听。 所使

我正在尝试创建一个集群评估工具。通过3个情节。 但是颜色不一致。因此,一个簇在一个图中可能是蓝色的,但在另一个图中可能是黄色的。不方便使用

下面的函数可以提供给任何Hclust对象,它将生成3个绘图。树状图、聚类图和轮廓图。颜色与后两种一致,但树状图的颜色不同。我认为这就是这个情节的层次性。因此,分开的拳头获得第一种颜色。但我不确定。因为所有对象都具有相同的对象和相同的簇标签(1、2等)。这种错误的颜色真的很困扰我,我不知道该怎么解决它。如果你知道为什么会这样,或者有解决办法,我洗耳恭听。 所使用的库是额外的

这也是我的第一篇文章。所以,如果有什么不清楚的地方或者其他什么,也请告诉我

library(factoextra)

# clustermodel = hclust object
# tot_clusters = the number of clusters (same as used as argument in hclust function)
# plots is an temp env to save the plots (function only returns one item so this is a work around) 
# the plots wil later be plotted by calling { plot(plots$dend) }  *example*
Cluster_visualisation <-  function(cluster_model, tot_clusters, plots) {

plots$dend <- fviz_dend(cluster_model, ggtheme = theme_minimal(),
          show_labels = FALSE, main = paste("Dendrogram", tot_clusters, "clusters" ))

plots$sil <- fviz_silhouette(cluster_model, print.summary = F, main= paste("silhouette plot of", tot_clusters, "clusters"), ggtheme = theme_minimal())

plots$clust <-fviz_cluster(cluster_model, ellipse.type = "convex", ggtheme = theme_minimal(),
             labelsize = 0, main= paste("Cluster plot of", tot_clusters ,"clusters"))
库(额外)
#clustermodel=hclust对象
#tot_clusters=簇的数目(与hclust函数中用作参数的数目相同)
#plots是保存绘图的临时环境(函数仅返回一项,因此这是一个解决方案)
#稍后将通过调用{plot(plots$dend)}*示例来绘制绘图*
集群可视化