2016-08-20 6 views
0

Ich benutze c3-Diagramm für js. Mein Code ist unten:x Achse auf c3 Diagramm zeigt nur den ersten und letzten Wert

c3.generate({ 
     bindto:'#someChart', 
     data: { 
      columns: [ 
       data 
      ] 
     }, 
     axis: { 
      x : { 
       type: 'categories', 
       categories:categories, 
       tick:{ 
        count: 12 
       } 
      } 
     }, 
     point:{ 
      show:false 
     } 
    }); 

Ich habe ein Problem. Auf der X-Achse wird nur der erste und letzte Wert (12.) angezeigt.

Antwort

0

Es ist ein bekannter Fehler in c3, wo, wenn die Zecke beruht auf einem fraktionierten x-Wert auftritt (dh die Anzahl der Ticks bedeutet es sagt alle 2,06666 Kategorien sollte Pop-up) dann ist es nicht machen ->https://github.com/c3js/c3/issues/1638

es gibt ein Update, das dort angeboten wird ausführen, bevor Sie Ihr Diagramm erzeugen ->

c3.chart.internal.fn.categoryName = function (i) { 
    var config = this.config, categoryIndex = Math.ceil(i); 
    return i < config.axis_x_categories.length ? config.axis_x_categories[categoryIndex] : i; 
}; 

Aber ich finde, während es jetzt die richtige Anzahl von Zecken zeigt, ist es oft immer noch nicht die Etiketten in einer Reihe aufstellen und passt gut zu den Datenpunkten (sie sind dazwischen positioniert).

An diesem Punkt ist es besser, wenn Sie können, die Anzahl der Ticks (-1) ohne Bruch in die Anzahl der Datenpunkte (-1), die Sie zeigen möchten, zu teilen beide vermeiden Sie Ihr erstes Problem und richten Sie sich gut aus.

z.B. (Datenpunkte - 1)/(Nr.des.Ticks - 1) == ganze Zahl

Verwandte Themen