Pergunta

Então, estou extraindo alguns dados de um banco de dados e obtendo um registro de data e hora do Unix e um número. Então digamos que n (número) foi vendido em d (data).

Faltam dias, como o fim de semana. Eu preciso que ele ainda exiba o dia, mas não exija nenhum dado. É um gráfico de linha.

1 de abril de 2010, 50 vendido
2 de abril de 2010, 53 vendido
7 de abril de 2010, 10 vendido
(Eu tenho mais de 1.000 registros em vários anos - então também adicionarei um zoom)

Portanto, o gráfico ainda deve ser exibido de 1 a 7 de abril, mas não possui dados para 3-6. (A linha iria apenas de 2-7).

Algumas ideias em como fazer isso?

Obrigado, Josh

Foi útil?

Solução

Dê uma olhada aqui: http://highcharts.com/ref/#series Segundo exemplo de propriedade 'dados'.

Você só precisa converter a data do MySQL, convertê -la para o UNIX Timestamp (unix_timestamp ()) e, em seguida, multiplicá -lo por 1000 (JS precisa de tempo em microssegundos) ...

Outras dicas

Escala o eixo X dos seus dados ao criar o gráfico para contar apenas os dias em que você tem pelo menos uma venda e apenas verifique se o seu eixo é rotulado de maneira sensata.

Isso significaria passar por todo o conjunto de dados e garantir que ele tenha números seqüenciais. Portanto, pode não ser terrivelmente eficiente e certamente pode se beneficiar do pré-processamento (outra chave no seu banco de dados para o "dia de venda" ou algo assim).

Se possível, você pode me mostrar seu código.

Pode ser que este link lhe dará alguma ajuda.Demo para especificar NULL para a data determinada: http: //jsfiddle.net/highcharts/fgrtd/

Você pode plotar seus dados como dados y normais e usar um formatador no eixo x

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;
            }
        }
    }
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top