I am using ListContourPlot to plot a list of points. I am using the PerformanceGoal option inside of ListContourPlot which gives me just two options "Speed" and "Quality".

I need a graphic with a reasonable quality and size. But with the first option, "Speed", the quality is really bad but the size of file is small and for me it is good. In the other hand with "Quality" option I have a really good quality but the size of the file is large.

There is a way to find a mid term? There is a way to control the PerformanceGoal to get a reasonable quality and a reasonable size of the file?

  • $\begingroup$ What file format are you exporting to? You may be able to use compressed lossless formats for some. Your most direct control option is to leave the PerformanceGoal alone, because it only indirectly affects the quality and detail of the output. Instead, you could control how many points from your data set you use (e.g. ListContourPlot[data[[ ;; ;; 10]]] to sample only every tenth point etc). In any case, it's hard to say without more information about the specifics of your problem, some code, and some sample data. $\endgroup$
    – MarcoB
    Jul 5, 2018 at 18:09

1 Answer 1


Look at the option MaxPlotPoints. It can split the performance of "Speed" and "Quality":

data = RandomReal[1, {50, 50}];

ListContourPlot[data, PerformanceGoal -> "Speed"]   // ByteCount // RepeatedTiming
ListContourPlot[data, PerformanceGoal -> "Quality"] // ByteCount // RepeatedTiming
ListContourPlot[data, MaxPlotPoints -> 25]          // ByteCount // RepeatedTiming
{0.014, 81688}

{0.178, 1822056}

{0.0481, 478352}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.