2016-07-22 24 views
1

Ich implementiere ein Streudiagramm mit der Echarts-Bibliothek von Baidu. Ich beziehe mich auf this Beispiel. Ich habe Änderungen in seinen Eigenschaften entsprechend meiner Anforderung vorgenommen. Ich habe die Blasengröße erhöht, indem eine Symbolgröße in ‚Serie‘, wie dies zu erwähnen:Formatierungsfunktion zum Hinzufügen von Beschriftungen im Streudiagramm in Echarts von Baidu

series : [ 
       {  
        symbolSize : 20, 
        type :'scatter', 
        data : [ some coordinate values ], 
        . 
        . //rest of the properties 
        . 

        }, 
       ] 

ich diese kundenspezifische Etiketten in den Bläschen enthalten getan haben. Dazu habe ich die ‚ItemStyle‘ in ‚Serie‘ wie folgt geändert:

itemStyle: { 
        normal: { 
          color:'blue', 
          label:{ 
          textStyle:{ 
             fontWeight:'bold', 
             fontSize:15 
             }, 
          show:true, 
          position: 'inside', 
          formatter: function(value) 
          { 
           if (value=='[10][20]') 
           return 'some label' 
           else 
           return 'NA' 
          } 
         } 
       } 
      }, 

Alle jetzt die Blasen haben ‚NA‘ in ihnen geschrieben. Also, ich merke, dass ich es nicht richtig mache. Ich möchte wissen, was der "Wert" in der Formatierungsfunktion enthält. Kann ich seine Übereinstimmung mit den Koordinaten in den Daten überprüfen? Bitte helfen Sie. Diese

ist, wie die Punkte aussehen wie jetzt: Scatterplot

PS: Der Wert Element in Reihe in Formatter Funktion des Labels ist immer UNDEFINIERT

Antwort

0

ein Weg gefunden, das obige Problem zu lösen. Das Formatierungsfunktion für das Label hat die folgenden Parameter:

a (series name), b (data name), c (value array), d(null) 

Also, wenn zum Beispiel, ich brauche die Namen der Blasen zu sein ‚Node1‘, ‚Node2‘, ‚Node3‘ und so weiter, dann habe ich Benenne meine Serie als 'Node' und im Werte-Array, anstatt nur xAxis und yAxis-Werte zu haben, füge ich den dritten Parameter als eine Folge von Zahlen hinzu. Dies bedeutet, Daten können wie folgt aussehen:

data: [[10, 80, 1], [20, 70, 2], [50, 70, 3] ..and so on], 

Nun, wenn ich die Formatierungsfunktion aufrufen, ich habe es wie folgt:

formatter: function(a,b,c) 
          { 
           return a+c[2] 
          } 

Wo a = Serienname, b = Datenname und c = Wert-Array Wir modifizieren diese 3 nach unserem Bedarf, das Etikett innerhalb der Blase anzupassen. Meine Ausgabe sieht so aus:

Scatter or bubble graph