2016-05-20 3 views
-1

Mein Ergebnis ist: enter image description herePhantomJS/highchart: Wie Legende Überlauf zu behandeln, wenn in PNG/PDF exportiert

Jeder Vorschlag begrüßt. Immer noch in dieser Ausgabe stecken. Manchmal sind zu viele Elemente in der Legende, wie mit dem Überlauf von Legenden umzugehen ist. Eine Möglichkeit besteht darin, die Höhe und Breite entsprechend der Größe der Serie festzulegen (im Folgenden Export-Einstellung). Jeder bessere Weg?

{ 
    "subtitle": { 
    "text": "2016-05-19 12:09 to 2016-05-26 12:09" 
    }, 
    "title": { 
    "text": "Query" 
    }, 
    "series": [ 

    ], 
    "yAxis": { 
    "title": { 
     "text": "Count" 
    } 
    }, 
    "tooltip": { 
    "pointFormat": "<span style=\\\\"color:{point.color}\\\\">{series.name}</span>: <b>{point.y}</b><br/>" 
    }, 
    "credits": { 
    "enabled": false 
    }, 
    "plotOptions": { 
    "column": { 
     "colorByPoint": false 
    } 
    }, 
    "xAxis": { 
    "labels": { 
     "style": { 
     "fontSize": "9px" 
     } 
    }, 
    "type": "category" 
    }, 
    "exporting": { 
    "sourceHeight": 3000, 
    "chartOptions": { 
     "chart": { 
     "height": 2000 
     }, 
     "legend": { 
     "maxHeight": 1600 
     } 
    } 
    }, 
    "type": "chart", 
    "legend": { 
    "enabled": true 
    } 
} 

Antwort

0

Es ist möglich, die Funktion außer Kraft zu setzen, die Sie mit einer einfachen Funktion beziehen sich auf die gerade denselben Wert wie das erste Argument zurück. Wenn Sie jedoch eine Legendennavigation deaktivieren, wird Ihre Legende ziemlich groß - abhängig von den tatsächlichen Daten.

Beispiel: http://jsfiddle.net/zwL7v6by/

$(function() { 
    Highcharts.Legend.prototype.handleOverflow = function(legendHeight) { 
    return legendHeight; 
    }; 

    $('#container').highcharts({ 
    series: [{ 
     type: 'pie', 
     showInLegend: true, 
     data: [1, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7] 
    }] 
    }); 
}); 
1

Sets nicht definierten Wert für den maxHeight Parameter im exportierenden Objekt.

legend: { 
     layout: 'vertical', 
     align: 'right', 
     verticalAlign: 'top', 
     maxHeight: 40 
    }, 
    exporting:{ 
     chartOptions:{ 
     legend:{ 
      maxHeight: undefined 
     } 
     } 
    }, 

Beispiel:

+0

ich versuchte, meinen Code oben Modifizieren zu verwenden als undefiniert maxHeight (maxHeight = undefiniert). aber scheiterte. – BAE

+0

Können Sie meinen Code mit Ihrem Code aktualisieren, um das Problem zu beheben? –

+0

Bitte beachten Sie mein Update. Danke – BAE

Verwandte Themen