How to save matrix as a "pretty print" image?
27 views (last 30 days)
Show older comments
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
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
Rik
on 4 May 2024
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.
More Answers (0)
See Also
Categories
Find more on Animation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!