Transmettre des valeurs null pour SVG chemin (à l'aide de d3.js) pour supprimer les données manquantes

À l'aide de jQuery Flot, je peux passer un null valeur pour le traçage mécanisme, alors il ne peut pas dessiner n'importe quoi sur le terrain. Voir comment les documents manquants sont supprimées:

Transmettre des valeurs null pour SVG chemin (à l'aide de d3.js) pour supprimer les données manquantes

Je suis à la recherche de déménager à d3js, afin que je puisse avoir plus profond faible niveau de contrôle de la carte graphique à l'aide de SVG. Cependant, je n'ai pas encore trouver comment faire le même processus de suppression de documents manquants. L'image ci-dessous est une tentative pour ce faire, à l'aide d'une valeur de 0 au lieu de null (où le d3 paquet se décompose). Voici un peu de code pour vous donner une idée de la façon dont j'ai produit le graphique ci-dessous:

var line = d3.svg.line()
    .x(function(d) {
       var date = new Date(d[0]);
       return x(date);
    })
    .y(function(d) {
       var height = d[1]; 
       if (no_record_exists) {
           return y(0);
       }
       return y(height) + 0.5;
    });

Transmettre des valeurs null pour SVG chemin (à l'aide de d3.js) pour supprimer les données manquantes

J'ai regardé le SVG path élément sur le Mozilla Developer Network, et j'ai trouvé qu'il existe une commande MoveTo, M x y, qui ne se déplace que la "plume" d'un certain point sans en tirer quoi que ce soit. Cela a été mis en œuvre dans le d3js paquet, de sorte que je n'aurai pas à créer plusieurs path éléments à chaque fois que je rencontre un manque record?

  • Notez que l'utilisation de MoveTo serait génial d'avoir des lacunes dans un simple (avc seulement) en ligne, mais pas de travail avec le remplissage vert vous montrer ci-dessus. Pour cela, vous avez besoin de formes distinctes ou superflues, des commandes de chemin pour descendre à la ligne de base, viennent sur la quantité correcte, et viennent à nouveau de retour.
  • Aime les graphiques, mais voir aussi: stackoverflow.com/questions/15259444/...
InformationsquelleAutor Kit | 2012-03-06