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

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

 Accepted Answer

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 Comments

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?
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.

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!