Report Timeseries Charts Are Blurry

I've noticed when using the Timeseries Charts in the reporting module that the text and plot lines and pretty much everything on the timeseries chart is blurry compared to all the rest of the text on the report. The blur is present even in the preview and design phase, as well as the printed/saved files.

Blurry Timeseries Chart

I can't seem to find any settings on the component that appears to fix this. Is there a way to make the graph/text sharper or is this a result of the way the chart is integrated into the reporting module? It seems almost like the chart is being generated as a picture and then embedded.

It is.

Excellent, is there any way for me to adjust the fidelity/compression so it's sharper? Or should I be generating the timeseries chart picture myself outside of the report and passing it in?

I'm not aware of any adjustments. The JFreeChart component is handed a canvas to "paint" on and that canvas's properties are opaque. ):

I imagine you could mock this up with the image component, but then you need to generate the graphics of the chart entirely on your own.

That's unfortunate. Thanks for the information, I'll add this to my 'yet another scripting project' list to work on.

One of our developers is actually working on a reimplementation of chart exporting to vector formats where possible. It's early days yet, but may bear fruit.

In the meantime, I think there's a DPI setting in the report - does inflating that to some huge number effectively render the report at a higher resolution? That makes conceptual sense in my head, but no idea if it actually works.

1 Like

Good to hear it is being worked on.

I can't seem to find a DPI property anywhere on the reports, unless you are talking about when I call executeAndDistribute. I've checked in the report and page properties, but the only thing I can seem to adjust is the size of the paper and its orientation.

Any progress on this? The charts are unpresentable in their current form, but I would love to be able to use them.

I never did any further work on this, as it got pushed to my 'do later' list.

I would start with figuring out how to do this:

And put it into a temp image to pass to an image component in the report.