Question

J'ai Highcharts mis en place pour afficher un graphique avec un tas de catégories axeX. Tout cela est bien travailler, mais je voudrais être en mesure de sauter quelques-unes des catégories axeX, donc pas tout ce qu'on est affiché. Vous pouvez voir un exemple de ce travail au sein de la section de reporting de Campaign Monitor (capture d'écran: http://screencast.com/t/Y2FjNzQ4Y ).

Toute idée comment je peux obtenir cette même disposition?

Était-ce utile?

La solution

Vous pouvez définir le type axeX comme 'datetime' puis réglez le pointInterval et PointStart dans les plotoptions.

Exemple de code:

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

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

Les chiffres que vous voyez pour pointInterval et de départ sont en millisecionds que vous pouvez générer en utilisant getTime () L'intervalle dans votre cas serait 86400000ms qui est un jour. La bibliothèque affiche des intervalles appropriés en fonction de votre intervalle de données.

Autres conseils

Il semble que l'axe des x: étiquettes: valeur étape est ce qui doit être utilisé pour accomplir ceci:

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

Step Axis Labels

Super fin, mais je figure cela peut aider quelqu'un.

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

voici ma solution laide:)

J'utilise tableau en tant que file d'attente. http://javascript.about.com/library/blqueue.htm si vous remplissez données de points à la file d'attente, vous pouvez de définir données pour votre série de cartes.

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 valeur doit être toujours incrément lorsque vous avez besoin d'un nouveau point. http://dl.dropbox.com/u/3482121/picture /highcharts/PM/Screenshot.png

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top