2016-08-04 26 views
1

i ein Diagramm haben, wenn die Null-Werte nicht setzen, die Punkte zeigen, aber wenn es Werte haben, dann zeigen sieC3js Quit Kurve auf Datenpunkt mit Nullwert

the graph look like this

das Problem, dass i Möchten Sie die Kurve nur verlassen, wenn Nullwerte angezeigt werden und eine flache Linie nur in diesem Teil gesetzt wird ist es möglich?

der Code, den ich für das Ausblenden verwende die Punkte

var circles = d3.selectAll('.c3-circle') 
    circles 
     .attr('visibility', function (d) { 
     if (d.value === 0) { 
      return 'hidden' 
     } 
     }) 

Antwort

1

Sie müssen den Spline-Typen aus dem Standard ‚Kardinal‘ bis ‚monotonen‘ ändern - eine Art Kurvensegment, das nicht über gehen oder unter einem der beiden Punkte, die es verbindet

Im Moment kann dies nur durch das interne Objekt c3 getan werden; so, nachdem Sie das c3 Skript geladen haben und bevor Sie erzeugen Ihr Diagramm diese Zeile hinzu:

c3.chart.internal.fn.additionalConfig.spline_interpolation_type = 'monotone'; 

Sehen Sie diese Geige Ich habe für ein Beispiel mit der Änderung gegabelt (kommentieren Sie es aus und wieder laufen die sehen Differenz):

https://jsfiddle.net/752pxyu4/1/

+0

btw gibt es eine Möglichkeit, die Punkte mit C3 Methoden sowie zu verbergen? denn wie kann man sehen, ich habe dies mit D3 –

+0

eingerichtet und danke, das funktioniert für mich –

+0

Aus der Referenz scheint es zeigt Punkte durch c3 ist eine alles oder nichts Auswahl: http://c3js.org/reference.html#point- show, also sieht deine d3-Lösung wie die beste Route aus – mgraham