When using QCustomPlot for generating non-QWidget charts (i.e. in Qml or just for saving) then QCustomPlot repaints too often (one time for the widget painting, and one time for the toPainter() method).
Also, for Qml rendering, repainting the chart after each mouse interaction is not optimal. As a workaround the "QCustomPlot::replot()" method can be overwritten with a no-op method and painting can be manually triggered from the Qml scene graph's "updatePaintNode()" method. This way the chart is rendered only once per rendering loop.