Effacer les filtres
Effacer les filtres

Is it possible to draw clustergram on UIAxes in app designer?

1 vue (au cours des 30 derniers jours)
Mohammad Shahbazy
Mohammad Shahbazy le 29 Août 2021
Commenté : Cris LaPierre le 30 Août 2021
Hi All,
I tried the following code to draw clustergram over UIAxes, but it does not work.
X = rand(20,10);
app.UIFigure.HandleVisibility = 'on';
set(0, 'CurrentFigure', app.UIFigure);
set(app.UIFigure,'CurrentAxes',app.UIAxes);
cgo = clustergram(X);
app.UIFigure.HandleVisibility = 'off';
Would you please guide me to resolve this code?
Thanks

Réponse acceptée

Cris LaPierre
Cris LaPierre le 30 Août 2021
Part of the challenge is that clustergram creates its own figure window rather than looking for one to plot into.
Here's something that worked for me, but it means the only thing the app can show is the clustergram, as it takes over the entire app figure.
X = rand(20,10);
cgo = clustergram(X);
plot(cgo,app.UIFigure)
Also note that a separate figure window with the clustergram still appears. if you want to stop that from happening, see this answer.
  2 commentaires
Mohammad Shahbazy
Mohammad Shahbazy le 30 Août 2021
Many thanks for your reply @Cris LaPierre
I need to keep this over the app.UIAxes window. I thought to save it as either *tiff or *png, then reading by imshow, might be another option. But I can't save as the output of clustergram with keeping original form (heatmap+dendrogram), because what you recommend as a fix (to disapear the figure) removes dendrogram from plot. I stiil need something to prevent appearing clustergram figure window. Do you have any suggestion?
Cris LaPierre
Cris LaPierre le 30 Août 2021
I am not aware of a way of preventing clustergram from creating a figure. However, if you read through the answer I linked to, someone there proposes a solution.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by