cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X

Linechart fails to plot all the data points

MM_9023322
14-Alexandrite

Linechart fails to plot all the data points

Hi all,

 

I am using a line chart for representing a boolean graph, I am sending 00:00 hours as my start and end date. When I select the date from 1st Feb to 28th Feb, the last data shows 27/02/2023 22:59:18 UTC time, the condition is 1 (High signal) and went low at 27/02/2023 23:45:19 UTC, but this low signal is not shown on the graph. When I extend the date till 4th March, the same thing happens for the 4th March data and the continuation signal is formed for the 28th Feb data.

 

How can I get all the data points plotted on the graph?

 

MM_9023322_0-1679983242955.png

 

Note: The maxItem is set to 50000!

 

Thank you,

Divya!

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi Divya,

It's because the chart renders a max of only 512 markers or less depending on the area of render. If the area is smaller, it will render less points.

It's also the reason why the chart seems to be very well performing, because it just doesn't render all data, which is very bad for IoT data, since there might be only 1 point in 1000 that is the odd one out which the user needs to see, yet the chart might not show it.

 

We've also identified this problem, and this is the reason we built our own custom charts. But as a recommendation, I wouldn't put 50k points, I don't believe there are many charting libraries optimized for so much data.

 

linechart-512.png

 

Gabriel - IQNOX

View solution in original post

2 REPLIES 2
nmutter
14-Alexandrite
(To:MM_9023322)

Not sure if this is the issue but we run into this as well:

- If you select a date in the Datepicker, it will select it in the users timezone (e.g. 28th at 0AM in GMT+2)

- Mashup will convert this timestamp to UTC and send it to the backend. In this case the backend will receive the 27th at 10PM.

You can validate this by logging the received timestamps in your service or by checking the network tab of the browser (what it requested from backend).

 

We did not fix this but I found https://www.ptc.com/en/support/article/CS316250 which shows a possibility to get the users time offset, which you could additionaly pass to your service. The service will need to add the offset to the received timestamp (or you do it in the mashup before sending it to the backend)..

Hi Divya,

It's because the chart renders a max of only 512 markers or less depending on the area of render. If the area is smaller, it will render less points.

It's also the reason why the chart seems to be very well performing, because it just doesn't render all data, which is very bad for IoT data, since there might be only 1 point in 1000 that is the odd one out which the user needs to see, yet the chart might not show it.

 

We've also identified this problem, and this is the reason we built our own custom charts. But as a recommendation, I wouldn't put 50k points, I don't believe there are many charting libraries optimized for so much data.

 

linechart-512.png

 

Gabriel - IQNOX

Top Tags