Pregunta

He Highcharts configurar para mostrar un gráfico con un montón de categorías eje x. Esto es todo funciona bien, pero me gustaría ser capaz de saltar algunas de las categorías eje X, por lo que no se muestra todo lo que uno. Se puede ver un ejemplo de este trabajo dentro de la sección de informes de campaña del monitor (pantalla: http://screencast.com/t/Y2FjNzQ4Y ).

Cualquier idea de cómo puedo conseguir este mismo diseño?

¿Fue útil?

Solución

Puede establecer el tipo de ejeX como 'fecha y hora' a continuación, establecer el pointInterval y PointStart en los plotoptions.

Ejemplo de código:

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

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

Las cifras que aparecen para pointInterval y de inicio están en millisecionds que se puede generar usando getTime () El intervalo en su caso sería 86400000ms que es un día. La biblioteca muestra los intervalos apropiados basados ??en su intervalo de datos.

Otros consejos

Parece que el eje x: etiquetas: valor de paso es lo que se debe utilizar para lograr esto:

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

Paso Etiquetas de eje

Super tarde, pero me imagino que esto puede ayudar a alguien.

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

aquí está mi solución fea:)

Estoy usando matriz como cola. http://javascript.about.com/library/blqueue.htm si usted llena datas más puntuales a la cola, se puede establecer datas más para su serie de cartas.

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 valor debe ser siempre de la subasta cuando se necesita un nuevo punto. http://dl.dropbox.com/u/3482121/picture /highcharts/PM/Screenshot.png

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top