Comment ajouter un effet d'ombre portée à d3.js tarte ou donut graphique
Je suis en utilisant d3.js pour faire un simple beignet graphique.
Je ne suis pas d'atteindre une ombre portée ou box-shadow effet pour ajouter de la profondeur au tableau. J'ai essayé d'ajouter le css:
path {
-moz-box-shadow: 3px 3px 5px 6px #ccc;
-webkit-box-shadow: 3px 3px 5px 6px #ccc;
box-shadow: 3px 3px 5px 6px #ccc;
}
De chemin de balises et la g des balises, mais en vain. Quelqu'un sait si cela est possible en CSS ou connaissez un wordaround de la sorte?
Apprécie vraiment l'aide sur un problème de base. Matt
var data = [0, 35, 65];
var w = 400,
h = 400,
r = Math.min(w, h) / 2,
ir = r * 0.5,
color = d3.scale.category20(),
donut = d3.layout.pie().sort(null),
arc = d3.svg.arc().innerRadius(ir).outerRadius(r);
var svg = d3.select("body").append("svg:svg")
.attr("width", w)
.attr("height", h)
.append("svg:g")
.attr("transform", "translate(" + w / 2 + "," + h / 2 + ")");
var arcs = svg.selectAll("path")
.data(donut(data))
.enter().append("svg:path")
.attr("fill", function(d, i) { return color(i); })
.attr("d", arc);
OriginalL'auteur matt | 2012-09-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser des filtres svg, voici un exemple montrant comment appliquer un filtre de flou.
Un exemple de dropshadow filtre svg peut être vu ici. Combiner les deux exemples pour obtenir ce dont vous avez besoin.
et voici quelques utiles code de référence pour un d3-spécifiques, par exemple: github.com/wbzyl/d3-notes/blob/master/hello-drop-shadow.html
OriginalL'auteur Erik Dahlström
Dans le cas où quelqu'un vient sur ce. . .
Alors joindre ce filtre à l'élément svg, comme une ligne ou une barre ou quoi que ce soit chatouille votre fantaisie. . .
stackoverflow.com/questions/29397152/... c'est une méthode pour ajouter un point culminant - le tordre pour en faire une ombre interne
Est-il possible de le faire sans attribuer un ID pour l'ombre? Aussi, lorsque l'on veut créer plus d'un de ces dynamiquement une page?
OriginalL'auteur reptilicus
Dans le cas où vous avez besoin de contrôler le couleur de l'ombre, cela a fonctionné pour moi:
d3:isée de cette réponse: https://stackoverflow.com/a/25818296/1154787
OriginalL'auteur codebreaker
Je vous ai fait un simple exemple commenté avec d3.js de SVG rect graphiques avec des ombres portées, à l'aide de l'information @Erik Dahlström posté le: http://bl.ocks.org/cpbotha/5200394 🙂
OriginalL'auteur Charl Botha
Selon Google, la Conception de Matériel, une ombre devrait se rapprocher des conditions réelles que les humains ont une grande capacité de perception. Ainsi, une ombre devrait être composé d'une ambiante et une fonte de la composante. Voir Google spécification ici..
http://www.google.com/design/spec/what-is-material/environment.html#environment-light-shadow
Tous les ci-dessus sont d'excellents exemples de l'ombre, mais je ne pouvais pas trouver des exemples de composite, donc je pensais que je voudrais partager cette coutume de filtres. Il ne semble pas faire le résultat final semble plus réaliste.
Ceci peut être appliqué à un objet, comme c'est le cas..
OriginalL'auteur