Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boost: connectNulls is not working #7395

Closed
KacperMadej opened this issue Nov 13, 2017 · 9 comments
Closed

Boost: connectNulls is not working #7395

KacperMadej opened this issue Nov 13, 2017 · 9 comments

Comments

@KacperMadej
Copy link
Contributor

@KacperMadej KacperMadej commented Nov 13, 2017

Behaviour

When setting connectNulls to false the null gaps are connected.

Live demo with steps to reproduce

http://jsfiddle.net/vd1y2cjx/

compare with the no-boost demo:
http://jsfiddle.net/vd1y2cjx/1/

@TorsteinHonsi
Copy link
Collaborator

@TorsteinHonsi TorsteinHonsi commented Nov 15, 2017

As we mention in the docs, not all features of the SVG rendering engine are available in Boost mode.

I added the Enhancement label to this issue, as we need to consider whether adding connectNulls support in Boost is feasible.

@NeuwenWolf
Copy link

@NeuwenWolf NeuwenWolf commented Jan 8, 2018

I would like to add that this is not documented in the docs, nor is it documented in the "Notes for boost" in the module itself.

This made it quite frustrating when it occurred for me as I assumed it was something I was doing wrong.

It might save someone else many hours of fiddling with the code if it were documented directly in the boost module with the other limitations.

This behaviour may make highcharts entirely unusable for our use-case as we often deal with large, gappy datasets:
image
Our customers would rightly not know how to interpret such a chart.

I attempted a work-around of setting all nulls to -1, and setting my yAxis ymin to 0, but in such a case, the negative values are plotted as 0 for some reason that I assume is just another expression of the connectNulls issue:
image
Edit: This has been submitted as a separate issue #7631

If there are any other workarounds for presenting such charts in boost, I'd love your feedback as this is the final major hurdle in our highcharts journey.

Edit: Another example of the issue this causes:
image
This example is visually dramatic, but the real issue is with short gaps when it's not obvious that there is missing data but it should be.

@TorsteinHonsi
Copy link
Collaborator

@TorsteinHonsi TorsteinHonsi commented Jan 9, 2018

@cvasseng Can we implement connectNulls in the Boost module?

@cvasseng
Copy link
Contributor

@cvasseng cvasseng commented Jan 10, 2018

@TorsteinHonsi : I can take a look. It's not entirely trivial due to the way the vertex buffers are built. We'd basically need to split the buffer when encountering null values, and then batch render the splits for each series.

@TorsteinHonsi
Copy link
Collaborator

@TorsteinHonsi TorsteinHonsi commented Jan 10, 2018

Closed by 4ff2d10

@NeuwenWolf
Copy link

@NeuwenWolf NeuwenWolf commented Jan 10, 2018

Fantastic! you guys are the best.

@TorsteinHonsi
Copy link
Collaborator

@TorsteinHonsi TorsteinHonsi commented Jan 11, 2018

@NeuwenWolf Just an off-topic comment on your "Daily totals" chart above - it looks like you're using a category axis to display dates. Your chart will probably perform (and look) better if you use a true datetime axis and let Highcharts determine the appropriate tick intervals.

@NeuwenWolf
Copy link

@NeuwenWolf NeuwenWolf commented Jan 11, 2018

@TorsteinHonsi
Copy link
Collaborator

@TorsteinHonsi TorsteinHonsi commented Jan 12, 2018

The difference is that a datetime axis is created to intelligently put labels on round dates, like the first of each month for example. The category axis just blindly removes every n'th label. The potential performance implication is that it's trying to add as many category labels as possible, while the datetime axis doesn't have to because the user can interpolate time. Again, it is not a requirement, just best practice. See https://www.highcharts.com/docs/chart-concepts/axes#what-axis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants