[BUG] Wrong axis tick positions in scatter plot

Hi there!

I was plotting some values by using the Views/Scatter Plot node and observed an issue with the axis tick labels which are placed at the wrong positions when the windows is initially opened.

However, the tick positions are correct once I adjusted the min / max values manually. Using a domain calculator or not makes no difference in the resulting chart. The JavaScript Scatter Plot works all fine with the same data.

Attached you find an example workflow which produced the added example chart. Here, the change in color should be exactly at 0.003 in y direction but is shown at approx. 0.002.



Test_Scatterplot.knwf (28.1 KB)

Hi @Tobas,

it is a feature…

In the Scatter Plotter there is a Jitter Feature. This means points on top of each other are slightly moved so that all are visible. This is not implemented in the JavaScript Scatter Plot.

You can btw do really cool Age Distributions Plot with this Feature.

Cheers, Iris

Hi @Iris!

Thanks for your reply!

But I don’t think it’s the jitter feature which is causing the observed effect. In my example the jittter setting is grayed out and not activated since I’m not plotting nominal data.

When I use mouse-over I see the correct x and y positions displayed but the y axis ticks do not fit. Furthermore the tick positions are correct after adjusting the axis min value manually. So I think somethings goes wrong when initializing the chart.

Tested and observed on KNIME Analytics 3.7.1 and 3.5.2 both running on Windows 10 Enterprise 2016 LTSB.

Regards, Tobas

Hi Tobas,

the jitter is always on, so you cannot deactivate it. That is the reason it is greyed out. It is only used for numerical data and slightly changes the position of the values.

You can see this by zooming in. Than the jittering is no longer necessary and the split will be exactly at 0.3.

Best, Iris

Hi Iris!

From my point of view it is not the expected behaviour that the scatterplot automatically adds a jitter to the chart which can not be controlled by the user.

Interestingly the problem disappears if I manually reset the min y-axis limit (as shown in the two attached images - in the second image I simply retyped 0,002 in the marked Y attribute window). But this shouldn’t effect the jitter settings.

Best regards, Tobas

Hi Tobas!

Sry for a bit of a delay on this one. We have discussed this and seems the problem is related to wrong rounding. The Y minimum in your dataset is 0.0019 which is rounded as 0.001 on Y axis which is not ok. Also it is shown as 0.002 on Y attribute on Column Selection tab. As you said adjusting the minimum value manually to 0.002 corrects ticks as there is no more rounding. Hope I explained it right. Considering there is a new JavaScript Scatter Plot and this is pretty awkward situation it will stay as is. Tnx for engaging!

Additionally may I ask why are you not using the new Scatter Plot node or you are and this was only testing?


Hi Ivan,

thanks for taking a closer look into this issue!

I have two different answers regarding your question why using the old-style scatter plot node:

Firstly, in our department we have quite a bunch of different workflows which partly exist for years. Most of them make use of the old scatter plot nodes since the javascripts views weren’t simply available at the time they were created.
Secondly, we make extensive use of KNIME’s great hilite functionality which works perfectly with the old view nodes but is missing in the new javascript views (or didn’t I find the right node configuration?).

Especially due to the hilite possibilities we stick with the old views and it would be great if it’s somehow possible to fix this rounding error in the old scatter plot view.

Best regards

Hi Tobas!

I see. Tnx for providing answers. I would highly recommend transferring to new JavaScript based visualization nodes. They actually offer a hiliting functionality. It is just not called hiliting :smiley: And they offer much more.

For example combine Range Slider Filter Definition node together with Table View and Scatter Plot into a wrapped Metanode. After execution open an Interactive View and play around a bit.

Here is a video to help you get started:

If you encounter any problems feel free to get backhere with a question :wink: