R: ¿Cómo visualizo el mapa de calor de matriz agrupada (se agrupan patrones de color similares)

He buscado muchas preguntas sobre el mapa de calor en todo el sitio y los paquetes, pero todavía tengo un problema.
Tengo datos agrupados (kmeans / EM / DBscan ..), y quiero crear un mapa de calor agrupando el mismo clúster. Quiero que los patrones de color similares se agrupen en el mapa de calor, por lo que, en general, parece una diagonal de bloque.
Intenté ordenar los datos por el número de clúster y mostrarlos,

k = kmeans(data, 3)
d = data.frame(data)
d = data.frame(d, k$cluster)
d = d[order(d$k.cluster),]
heatmap(as.matrix(d))
pero todavía no está ordenado y se parece a este enlace:
Pero, quiero que se ordene por su número de clúster y se vea así:
¿Puedo hacer esto en R?
Busqué muchos paquetes e intenté de muchas maneras, pero aún tengo un problema.
Muchas gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta