Issue in exporting Heatmap JavaScript view as PNG

Hi,

Exporting a Heatmap view (JavaScript) as PNG (e.g. to BIRT) ruins the image. It seems the dimensions get changed or something that makes labels not appear well.

Currently I’m using the JFreeChart instead to create the image. But JFreeChart has also its own constraints.

Are Plotly charts going to replace all current JavaScript views in the future?

:blush:

1 Like

Hey @armingrudd,

Good catch on the Heatmap. Do you know if this issue occurs with other visualization nodes? I would like to look into this issue further.

In the meantime, I have a workaround for you that will hopefully let you use the Heatmap View (JavaScript) in BIRT reports.

png_birt_test.knwf (274.0 KB)

In the workflow, you can use the “Render to Image” node upstream of the report generator to convert the SVG to PNG before the report is generated. Then, using a “Data to Report” node you can set up your BIRT report.

You may need to play around with the scaling and size of the image in the “Heatmap”, “Renderer to Image”, “Data to Report” and BIRT report editors to get the rendering crisp and clean, but this should work.

As for the Plotly nodes, we hope to continue development on the extension for an upcoming release to add more charts and functionality, so stay tuned :slight_smile:

Hope this helps!

Best,
Ben

6 Likes

@armingrudd how are you sending the jsview image as png to birt?

Hi @Iris,
I’m using the Image to Table node and then converting the SVG to PNG by setting the option in Data to Report configurations.

Hi and thanks @blaney,
Changing the image dimension along with using the Renderer to Image node works. But I want to have my desired dimensions. Even by following your workaround, one still cannot change the dimensions in BIRT. Or am I missing something?

I have not seen similar issue in other visualizations.

That would be very nice of you. Thanks.

:blush:

Hey @armingrudd,

So you can change the dimensions in the report editor tab in the KNIME AP. This will change the relative size in the browser when the report renders (as in the WebPortal).

You can also change the dimensions of the image itself (if you want to download the image from the report for example) in the “Data to Report” node as shown in the screenshot in my first message. This will reduce the size of the actual image.

Also, that’s good news that the problem isn’t occurring with other nodes and (hopefully) will make it easier to fix. I have created a ticket for the issue so we will get to it as soon as possible!

Thanks,
Ben

3 Likes

Yes, Thank you. But by changing dimensions I meant changing them in a way that the issue does not occur. I could not find any clear rule to set dimensions in the Heatmap view and in renderer/to report/BIRT that fix the issue. It seems this is a trial and error approach.

Looking forward to having this issue fixed soon. Thanks again.

:blush:

Ahh, yes.

I too was unable to find a combination of dimensions in the report editor to fix the issue. The only thing that worked for me was creating a very large image and then scaling it down in the editor (I think the dimensions are set incorrectly on the SVG element during the SVG -> PNG conversion, so the image only rendered properly if the gaps between the clip elements was sufficiently large to display the whole image). Definitely more reliable to go with the work around instead :sweat_smile:

Thanks again for reporting!
:slight_smile:

2 Likes

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