Except .png rasterizes everything. Text, ticks, axes etc. should be vector graphics. Just the heatmap should be an embedded bitmap, because it’s essentially pixels - that’s exactly what bitmaps are for.
GR does that when I save to svg - heatmap as embedded bitmap, everything else as vector graphics. The problem is, GR messes up the plot by overlapping text, it doesn’t seem to be drawing ticks and it can’t do logarithmic colorbars. Which may be fixable, but requires a lot of hacking.
Yes, you understood that exactly right. It’s a terrible solution, but it’s the only way I seem to be able to generate acceptable heatmaps.
I remember trying makie when fixing my logarithmic colorbar problem - I think that also didn’t work. PythonPlot is the only one that does that well, it does a really good job with line plots, but it sucks for heatmaps. I don’t want to draw plots with different backends for the same document to work around that.
Makie doesn’t seem to be using bitmaps either:
MakieCore.heatmap — Function.
Plots a heatmap as a collection of rectangles