Domanda

Ho Highcharts impostato per visualizzare un grafico con un gruppo di categorie asseX. Questo è tutto bene a lavorare, ma mi piacerebbe essere in grado di saltare alcune delle categorie asseX, quindi non viene mostrato tutto ciò che si. Si può vedere un esempio di questo lavoro all'interno della sezione di reporting del Campaign Monitor (screenshot: http://screencast.com/t/Y2FjNzQ4Y ).

Qualsiasi idea di come posso realizzare questo stesso layout?

È stato utile?

Soluzione

È possibile impostare il tipo asseX come 'datetime' quindi impostare il pointInterval e PointStart nelle plotoptions.

Esempio di codice:

var chart;
$(document).ready(function () {
    chart = new Highcharts.Chart({
        "xAxis": {
            "type": "datetime"

        "plotOptions": {
            "line": {
                "pointInterval": 86400000,
                "pointStart": 1282408923000
            }
        },
    });
});

Le cifre che vedi per pointInterval e di avvio sono in millisecionds cui è possibile generare utilizzando getTime () L'intervallo nel tuo caso sarebbe 86400000ms che è un giorno. Gli intervalli appropriati biblioteca mostra, sulla base dell'intervallo di dati.

Altri suggerimenti

Sembra che l'asseX: etichette: valore del passo è quello che dovrebbe essere utilizzato per raggiungere questo obiettivo:

        xAxis: {
            categories: ['JAN', 'FEB', 'MAR', 'APR', 'MAY'],
            labels:{
                step: 2 // this will show every second label
            }
        },

Passo Etichette asse

Super tardi, ma questo numero può aiutare qualcuno fuori.

    xAxis: {
        categories: categoriesname,
        labels: {
            style: {
                color: '#000',
                font: '9px Trebuchet MS, Verdana, sans-serif'
            }
        },
        **tickInterval: TickInterval,**// SET THIS
        tickPixelInterval: 80,
        tickmarkPlacement: 'on'
    },

ecco la mia brutta soluzione:)

sto usando array come coda. http://javascript.about.com/library/blqueue.htm se si compila dati in virgola alla coda, è possibile impostare dati per la serie del grafico.

var myQueue = new Array();
var myPoint = [x, y];                                       myQueue.push(myPoint);
chart.series[0].setData(myQueue);

my X axis is not a datetime, it's an integer
first 
var x = 0;

x valore deve essere sempre minimo quando avete bisogno di un nuovo punto. http://dl.dropbox.com/u/3482121/picture /highcharts/PM/Screenshot.png

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top