I recently upgraded from Mathematica 11 to Mathematica 12.1.0.0 . I understand there were some UI changes to accommodate high resolution monitors. I'm not sure if this issue is related to that. I am running on Windows 10. Below is a test script.
data = Table[RandomReal[{0, 1}], 100, 3];
plot = ListPointPlot3D[data, PlotStyle -> Black, LabelStyle -> {FontFamily -> "Helvetica", FontSize -> 12, Black}, AxesStyle -> {Black, Thin}, ImageSize -> 240];
Export[NotebookDirectory[] <> "plot.png", plot, ImageResolution -> 500]
Here is the image this produces on my computer.
Here is the images produced on a colleagues computer. He uses Mathematica 12.0.0.0 on a Mac.
As you can see. Mine is a much lower quality. I would export this as a vector graphic, but I believe Mathematica intentionally rasterizes 3D graphics to minimize file size.
I've also tried exporting as a pdf with similar (really worse) result. I've also tried right-clicking to save the graphic, again as both png and pdf. In the case of the pdf, the save dialogue lets you pick an export quality and it still produced a low quality image.
Additionally I also tried rasterizing before passsing to Export[] but nothing changed.
Export[NotebookDirectory[] <> "plot.png", Rasterize[plot, ImageResolution -> 500]]
The size of the image is also odd. I thought the image would by 3.33in wide but it is only 2.5in. I thought it would be 3.33 because 240/72 = 3.33. In fact, the image my colleague produced with the same script is 3.33in!
I thought it may be related to this question. But after doing what they suggested I still end up with low quality images. It does appear that to get the proper size image from ImageSize I need to use 96 instead of 72. But then that messes up the text size!
Does anyone have any insight into this issue?
Export[“filename.png”, plot, ImageResolution -> 300, RasterSize -> 4000]
. $\endgroup$