How to save matrix as a "pretty print" image?

I'm creating animations based on abelian sandpile models, where the sandpile heights (integers>0) are used as index values to convert the matrices into color images (ind2rgb). I would like to create companion animations that show the original data in indexed, matrix form, hence the ask for saving a matrix in "pretty print" format as an image. I'll probably use matrices that are at max 20x20; otherwise, I imagine it'll be hard to keep the "font size" of the numbers large enough.
Depending on the model size, the animations are upwards of 10,000+ frames, so I don't want to do any screenshots or manual saving, even for a smaller/more basic example. But it would be a similar result as screenshotting the matrix as viewed in either the Command Window or Variables workspace. Something like this but without needing the commands and label:
If there's not a quick solution/hack, I may have to go the route of building out a separate function to handle this, which might be fun too.

 Accepted Answer

Rik
Rik on 4 May 2024
Edited: Rik on 4 May 2024
Depending on your definition of pretty, you can use my text2im function. If you use sprintf, don't forget to transpose the array first (since matrices are column major, but text is generated row major).

4 Comments

thank you so much!
dropping an easy access link for others to follow in the future:
...seems like i have two options now, think the screenshot one above is going to be easier for a quick win, but your function might be more scalable so definitely trying both
this is BRILLIANT!!! ...and much easier to get ramped up with than the screenshotting tool for what i'm doing at least, i'll be able to use this within my current code with the addition of only 2 lines <3
Happy to help. I was on mobile when I wrote the answer, so links are harder. But I'll edit my answer to include the link.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2024a

Asked:

on 4 May 2024

Edited:

Rik
on 4 May 2024

Community Treasure Hunt

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

Start Hunting!