Question

So I'm pulling some data from a database and getting a UNIX Timestamp and a number. So lets say N (number) was sold on D (date).

There are days missing, like the weekend. I need it to still display the day, but not require any data. It's a line chart.

April 1 2010, 50 sold
April 2 2010, 53 sold
April 7 2010, 10 sold
(I have over a 1,000 records spanning a several years - so I will add a zoom as well)

So the chart should still show April 1-7 but have no data for 3-6. (the line would just go from 2-7).

Any ideas on how to do this?

Thanks, Josh

Was it helpful?

Solution

take a look here: http://highcharts.com/ref/#series second example of 'data' property.

You just have to convert mysql date, convert it to UNIX timestamp (UNIX_TIMESTAMP()), and then multiply it by 1000 (JS needs time in microseconds)...

OTHER TIPS

Scale the x axis of your data when you're creating the chart to only count the days when you have at least one sale, and just ensure your axis is labelled sensibly.

This would mean stepping through your entire data set and ensuring it has sequential numbers. So might not be terribly efficient and could certainly benefit for pre-processing (another key in your database for "sale day" or something).

If possible then can u show me your code.

May be this link will give you some help. demo to specify null for given date:http://jsfiddle.net/highcharts/FGRtd/

You can plot your data as normal Y data and use a formatter on the x-axis

dates = ['April 1 2010', 'April 2 2010', 'April 7 2010'];
numSold = [50, 53, 10];

chart = new Highcharts.Chart({
    series: [{
        type: 'line',
        data: numSold
    }],
    xAxis: {
        labels: {
            formatter: function() {
                var dateStr = dates[this.value];
                return dateStr;
            }
        }
    }
});
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top