2015-05-12 4 views
7

Wie kann ich den Text der Legende des Kreisdiagramms ändern. Ich verwende c3-Diagramme in meiner PHP-Seite. Ich habe bereits die Dokumentation von c3-Charts gelesen, aber kein Glück.Wie kann ich Text der Legende in C3 Kreisdiagramm ändern

Zur Zeit verwende ich diesen Code es zeigen Legende für true, aber ich kann den Text nicht ändern Ich habe dies versucht.

var chart = c3.generate({ 
     bindto: '#container', 
     padding: { 
        top: 10, 
        right: 0, 
        bottom: 10, 
        left: 0, 
      }, 
     data: { 
      columns: [<?php echo $pieChartDataString; ?>], 
      type : 'pie', 
      labels: true 
     }, 
     legend: { 
       show: true, 
       position: 'upper-center' 
       format: { 
         title: function() { return "Legend title"; }, 
         name : function() { return "Legend name"; }, 
         value: function() { return "Legend value";} 
         } 
       } 

    //But these legend values or not showing 

    }); 

Es zeigt nicht meine Legendenwerte es zeigt immer nur Spalten als Legende.

Gibt es eine Möglichkeit, dass ich die Legendenwerte ändern kann.

Antwort

9

Sie haben nicht die Daten zur Verfügung gestellt, die von Ihrem PHP ausgegeben werden, also ist es schwer zu sagen.

Aber das erste Element in jedem der Spalten-Array bestimmt den Namen, der in der Legende geht. Also:

würde dazu führen, dass die Legende Etiketten "Dies ist Legende 1" und "setzen Sie Ihren Wert hier".

Hier ist eine Geige: http://jsfiddle.net/jrdsxvys/9/

Edit ... Eine andere Möglichkeit ist es, die Namen-Eigenschaft verwendet wird, wie hier geschehen: http://jsfiddle.net/jrdsxvys/40/

data: { 
    columns: [ 
     ['d1', 30], 
     ['d2', 120] 
    ], 
    type: 'pie', 
    labels: true, 
    names: { 
     d1: 'some name here', 
     d2: 'another name' 
    } 
} 
1

@agpt Ja. Die Eigenschaft names ist ein guter Weg, um allgemein zu gehen, da die erste Eigenschaft des Spalten-Daten-Arrays, z. B. "d1", verwendet wird, wenn man beispielsweise mehrere Typen in Diagrammen verwendet. zB für eine Balken- und Linien Kombination types statt type: 'pie' mit:

columns: [ 
    ['bar_1', 3, 8, 6], 
    ['bar_2', 4, 0, 7], 
    ['bar_3', 2, 3, 0] 
], 

types: { 
    bar_1: 'bar', 
    bar_2: 'line', 
    bar_3: 'bar' 
}, 

names : { 
     bar_1: 'Initial', 
     bar_2: '3 month', 
     bar_3: '6 month'     
} 

So erlaubt die Namen-Eigenschaft verwenden Sie mehr ‚dynamische‘ Eigenschaftsnamen zu verwenden und in der gesamten Konfiguration konsistent sein.