Frage

Ich habe Highchart eingerichtet mit einem Bündel von xAchse Kategorien ein Diagramm angezeigt werden soll. Das ist alles funktioniert gut, aber ich möchte in der Lage sein, einige der xAchse Kategorien zu überspringen, so dass nicht alles, was man gezeigt. Sie können ein Beispiel dieser Arbeits innerhalb Campaign Monitor des Berichtsabschnitt (siehe Screenshot: http://screencast.com/t/Y2FjNzQ4Y ).

Jede Idee, wie ich das gleiche Layout erreichen kann?

War es hilfreich?

Lösung

Sie können den xAchse Typen als ‚Datetime‘ und stellen Sie dann die pointInterval und PointStart in der plotoptions gesetzt.

Code-Beispiel:

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

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

Die Zahlen sehen Sie für pointInterval und Start in millisecionds, die Sie generieren können mit getTime () das Intervall in Ihrem Fall wäre 86400000ms, die ein Tag ist. Die Bibliothek zeigt angemessene Abstände auf der Grundlage Ihres Datenintervall.

Andere Tipps

Es scheint, wie die xAchse: Etiketten: Schrittwert ist, was verwendet werden soll, um dies zu erreichen:

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

Schritt Achsenbeschriftungen

Super spät, aber ich glaube Dies kann helfen, jemand aus.

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

hier ist meine hässliche Lösung:)

Ich verwende Array als Warteschlange. http://javascript.about.com/library/blqueue.htm wenn Sie Punktdaten in die Warteschlange füllen, können Sie Daten für Ihre Kartenserie setzen.

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-Wert sollte immer Schritt sein, wenn Sie einen neuen Punkt benötigen. http://dl.dropbox.com/u/3482121/picture /highcharts/PM/Screenshot.png

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top