Can I use Highstock do the following:
Grouping by days, weeks, months, but to display all data. That is, make a button group, but that they did not zoom, and only group data (do approximation).
This is how you can update dataGrouping:
$("#container").highcharts().series[0].update({
dataGrouping: {
units: [ ['year', [1]] ]
}
});
And jsFiddle: http://jsfiddle.net/W7rTL/1/
This works well when a lot of data, but when the data is small, such as a few months, the schedule is not grouped.
jsFiddle:
http://jsfiddle.net/W7rTL/5/
I get similar results when clicking the button but only on like a 3M range. Strange, clicking button to go to "year" aggregation, it falls back to day (?). This surprised me, as it isn't even one of the aggregation options in the data series (possibly code falls back to default)? Once you've done this, if you then click to ALL or 1 year, it properly picks right back up to yearly aggregation...
Related
I want to show data for 4 weeks on a Google Sheets chart.
I have tried to do this and it is mostly ok as this is correct:
The X-axis shows the days of the week
The Y-axis is the weight number
Issues I have with my current implementation are:
I had to make a separate series for each week when I wanted it automatically group the data by week number. (I then can't name each series)
The data is off by one day. Monday's data doesn't show which means Tuesday's data is showing in place of Monday and so on.
Here is a link to the google sheet and a screenshot below: https://docs.google.com/spreadsheets/d/147RMW2JE7MoWz53EZuB-nHj-p_xeKez_ze_0mqq8NGA/edit?usp=sharing
My expected result would look more like this:
Here the lines are shown grouped by each week AND data is shown for each day
The reason why you are missing the first day of every week is that you have checked the Use row 1 as heeaders so every series will remove the first datapoint (monday in your case) and insert it as the label for that series (you can see that in the legend).
If you uncheck that checkbox and change your range for the X-axis so it goes from Monday to Sunday you get the correct graph.
The problem with the previous graph is that although all its datapoints are correct there is no legend. But unfortunately there is no way to insert a legend easily because you cannot go and change this manually, the label for each series has to come from the cells.
What you can do to work around this limitation is change your data so the label for each series sits on top of your data and keep the Use row x as headers checked:
Of course this is not the only solution, you can go on multiple ways here, copy the table in a single sheet for every week, or just live without labels. Stack the weeks horizontally so everyone has its week number on top of the weight column, etc
I am working with Highcharts heatmaps.
I have multiple data points (I am calling them functions), each having some data series defined as
The format of the above is
string, epochtime, value
The series1 or series2 (see comment below) are series names associated with each function. I want to update the series in the chart based on the click of a button associated with a function. There are multiple such functions and each function has its own button. Clicking on the button populates the respective data in the heatmap using the above array of arrays.
Th problem is when I click on adding a function which has more than 20 series defined in the format above, it doesn’t work . The screen displays time since 1970(for some reason). While it works for less than 20 series.
Figured it out, my bad. Apparently had to disable the turbothreshold for the heatmap via the plotOptions. Everything worked fine and i could have as many categories in the x axis.
Is there a way to create an empty point for the dates which are not included in the data?
Tried to use pointInterval: 24*3600*1000, but doesn't have any result.
In this example we have a gap between 31th July and 7th August which I would like to fill with empty points.
http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/stock/demo/candlestick/
You need to set ordinal: false as an option on the xAxis. Like this:
xAxis: {
ordinal: false
}
API on xAxis.ordinal: https://api.highcharts.com/highstock/xAxis.ordinal
In an ordinal axis, the points are equally spaced in the chart regardless of the actual time or x distance between them. This means that missing data for nights or weekends will not take up space in the chart.
Defaults to true.
Working example: http://jsfiddle.net/phLz68r9/
My case: Plot a stockchart with stock data for 5 days without weekends displaying, each day should have equal space even though data can be irregular.
What i need to do is plot an xAxis with static intervals of one day, however i cant display weekends and the data can be very irregular between the days. I've tried tinkering with tickInterval, tickPositioner but so far no luck.
I can hide weekends with:
ordinal: true,
My current fiddle:
http://jsfiddle.net/svedino/h9448fk0/1/
Setting the ordinal to false gives me correct interval but with the weekends included.
An example of this kind of graph seems to be working can be found here:
https://www.avanza.se/aktier/om-aktien.html/229675/jays
My graph is having time between dates.I want to display just the date.
As Highstock is responsive,the time is removed once I minimize the browser and only dates are shown.
I have tried dateTimeLabelFormats in xAxis and tickInterval.
Those doesn't seem to work.
Help is appreciated