datagrouping integration in highcharts not highstock? - highcharts

In our API gives data as daily basis(timestamp and value) but we need to display weekly and monthly with rangeselector integration using highcharts not highstock. Please any help me with this.

Highcharts doesn't have implemented the dataGrouping feature. It is available only in Highstock.
However, you can group your data by yourself before chart will be initialized. For example: If you want to process your data to group it, you will need to loop through your daily data, adding each value into a new data array, indexed on month.
To create a custom rangeselector you will need to create two arrays of data - one monthly, second weekly and do an update on particular button.
API: https://api.highcharts.com/class-reference/Highcharts.Chart#update

Related

Create Timeseries chart with custom timestamp for custom events sent to New Relic

I have some custom load test data, something like -
{“payload_size”: 15, “response_time”: 0.2, “timestamp”: 1670584754}
So i wanted to plot payload_size against timestamp as a timeseries chart, but the issue is I am sending all of this data in bulk, which may include 600 events like this (if ran for 10 minutes).
So when i do timeseries , it shows me one entry only as all the data is pushed at simple point of time.
Is there a workaround for this. I am using EventAPI to send all the data.
Yes - you can do this with New Relic's custom visualizations
I wrote one specifically for this same use case here: https://github.com/khpeet/custom-timeseries
This allows you to plot your values on a timeseries chart with your own custom timestamp field. Note that timestamp is a reserved word in New Relic though, so you probably have to rename your timestamp key to something else upon posting the events via API.

timeline chart not drawing "null" data

when I use the data below in a google sheets timeline chart it doesn't plot 29/04/2019 5% and 10% leaving a gap in a chart, how can I resolve this? the chart should be unaffected by empty fields.
Date 5% Target 10% Target Actual
22/04/2019 120.6 120.6 120.6
29/04/2019 119.5
22/07/2019 114.57 108.54
22/10/2019 108.84 97.69
22/01/2020 103.40 87.92
22/04/2020 98.23 79.13
22/07/2020 93.32 71.21
22/10/2020 88.65 64.09
22/01/2021 84.22 57.68
22/04/2021 80.01 51.91
22/07/2021 76.01 46.72
22/10/2021 72.21 42.05
22/01/2022 68.60 37.85
22/04/2022 65.17 34.06
22/07/2022 61.91 30.65
22/10/2022 58.81 27.59
22/01/2023 55.87 24.83
22/04/2023 53.08 22.35
22/07/2023 50.43 20.11
I have tried adding another dataset and I get the error
each values column may be followed by one or two annotation columns. column number 4 is of type date
Here is a link to the spreadsheet
There are gaps in your data, so you're going to have gaps in your chart. That's just how Timeline Chart works. There are ways of having charts skip gaps, but you have the 29th as a date, so it is explicitly part of your timeline.
The least burdensome remedy is usually to chart a different dataset living elsewhere, filtered down live from your input values, but meeting your charting requirements. E.g. elsewhere in your file have it list only the rows where 5% Target is populated with something like =FILTER(B2:E,LEN(C2:C)) and then chart that.
If that's not what you really want, then you need to decide what you really want. A time-cropped chart to only include fully-populated date ranges? A chart with made-up values extrapolated from surrounding data? Those and some other options are not trivial, so you'll need to really determine your requirements and look into how they can be achieved.

how to handle series data when you can't predict data set?

I'd like to create a highchart line chart with drill down to addition data.
The first data point would be date and total count, i.e., (2019-04-01, 3,000)- I have that part down and displaying.
The drilldown would be a break down of the total, such as:
Cats 1,000
Dogs 1,000
Pigs 1,000
I can do that too, but only when I can predict the drilldown series. The data set is dynamic, it could, for example, sometimes include birds and fish, or not have pigs.
I've create a pie chart with drilldown and set an array to have the drilldown data... I could pull this off because the data was predictable. I'm using PHP to create the data set but could use python or csv is that makes it feasible.
The drilldown should be dynamic and be able to handle any introduced series.

Spreadsheet importrange high/low during specific times

I want to use importrange to pull in just the high/low data during a specific time of the day, ignoring the rest of the days update. Specifically from 8:30am to 2:50pm weekdays only.
=importhtml("http://www.marketwatch.com/investing/stock/aapl"&"?"&"workaround="&INT(NOW()),"table")
So for example, I only want to pull in the specific data starting at 8:30am and ending at 2:50pm
The =importhtml() function doesn't have the have the ability to filter data. The query parameter is for:
query - Either "list" or "table" depending on what type of structure contains the desired data.
You can import the data, then run a =query() on the imported data, using the range that the imported data is displayed in.
That URL only has one table in it, and it's not the data for the aapl stock chart. There are 8 lists in that web page, but none of them are for the data in the aapl stock. You aren't going to be able to scrape that chart with =importurl()
The chart is in a <canvas> tag.

One genral inquisitiveness about highcharts:

If we have to create a chart with lots data eg- "performance of stock for last 5 yrs- do we have to transfer all data to the client side for highcharts to process it? Wont involve too much data overheads?
Regards
Utsav.
You can "lazy load" chart data, see the example in the documentation.

Resources