Going from first principles, heat mapping a matrix you have:
- an implicit vertical coordinate (row) that is equally spaced
- an implicit horizontal coordinate (column) that is equally spaced
- a value that is a range which is to be represented by colours
If you then think of a heatmap as a scatterplot with rectangular points equal to the size of the spacing, you could take that data and do whatever you like to it in the way of plots- things like thresholding the colour values, and merging coordinate points- through general data munging principles.
If you wanted to explore this, rolling your own visualisation, I would suggest:
- First transform the data into a long format row, column, value arrangement
- Explicitly save the visualisation as a png or something when creating it to avoid the onscreen slowdown of making a visualisation with a lot of points. This also has the advantage you can size the visualisation to fit the level of detail you want.