Very Long Execution Time of Scatter Plot Node

Dear Knimers,

one of my tasks is to create some Scatter Plots out of thousands of measurement files. So I created a loop where I load the data, do some math, create some variables, plot the desired data in a scatter plot and export the image with a proper file name.
For testing this workflow I ran the loop over “only” 1968 files. During the execution it seemed that the creation of the scatter plot is the time limiting step. Though I put a time node into my workflow. Heres the result:
Execution_Time
In the first column the node is listed, the second column shows the number of calls, the third column the summarized execution time.
Do you have an idea how to speed up the execution? Since I save the files I do not need to have a look on the images during the workflow execution.

Best regards,
Andreas

Hi @ActionAndi

the ScatterPlot based on JavaScript will generate an SVG, and this again will take quite long to be generated with a high number of points.

I would recommend using the JfreeChart version of the scatterplot instead. It has the option to generate pngs, which will be a lot faster.

4 Likes

Hi,
thank’s a lot! I am wondering why Knime is offering two ways of creating Scatter Plots or Bar Plots.
Andreas

Hi @ActionAndi

it is more a timely evolution in combination that we now have users using each of the set of nodes, so we do not want to take them from them.

The original visualization nodes are the ones which are now called local. The disadvantage of them is that you cannot save there configuration, everything is done in the view. Also you could not smoothly save the visualization as an image. However, they were already interactive, you could do highlighting with them. (Here you can read more about the quite old concept of highlighting )

We wanted to have new visualization nodes providing us with images as an output, which you can reuse in BIRT or “just” write back to disk. This is how we got our second set of nodes, the JFreeChart ones.The nodes are really fast, you can get PNGs or SVGs from them. PNG generation should be faster. You can also configure the nodes and save the configuration in the nodes.

However as this is a library we were implementing, this also means that the JFreeChart nodes do not support highlighting,which involves multiple views talking to each other. And there were some complains, that the look and feel of those are not nice. Even so I am not the only one with taste in the team I am able to make good looking views with them. One reason might be that I was part of the team developing those nodes.

We now had one set of nodes interactive and one set of nodes generating images. However, we wanted to have one set of nodes to be used and also wanted to add more features like the composite views and the KNIME Webportal pages.

This is how our most recent nodes, the JavaScript nodes came up. They generate images, they have tons of configuration options, they are interactive and support CSS.

I use the JavaScript ones mostly, let’s say in 99% of the time. For quick exploration or also for building dashboards. Only if I have a huge data set to be visualized or I am generating images in a loop, I prefer the JFreeChart ones.

Best, Iris

4 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.