javascript - D3 Graph - 将描边添加到路径

标签 javascript d3.js

我有这个代码:

path = group.append("svg:path")
  .attr("d", arc)
  .style("fill", function(d) {
    if (d.children)
      return color(d.name)
    else
      return "grey"
  })
  .attr("display", function(d) {
    return d.depth ? null : "none";
  })
  .each(stash);

但我不仅想向样式添加“填充”,还想添加笔划,具体来说就是这段代码:

 .style("fill", function(d) {
    if (d.children)
      return color(d.name)
    else
      return "grey"
  }) 

谁能告诉我如何添加描边吗?我无法在 CSS 中执行此操作,因为它需要特定于该特定路径并且没有 id 或类。

最佳答案

您可以将多个 styleattr 调用链接在一起(就像您在代码中使用 filldisplay示例)那么这是否达到了您想要的效果?

path = group.append("svg:path")
  .attr("d", arc)
  .style("fill", function(d) {
    if (d.children)
      return color(d.name);
    else
      return "grey";
  })
  .attr("stroke", function(d) {
    if (d.children)
      return "red";
  })
  .attr("stroke-width", function(d) {
     if (d.children)
       return 2;
     else 
       return 0;
  })
  .attr("display", function(d) {
    return d.depth ? null : "none";
  })
  .each(stash);

不过,根据 d.children 的结果应用一个类似乎会更清晰。

关于javascript - D3 Graph - 将描边添加到路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49856286/

相关文章:

javascript - 当组件可见时如何触发事件。必须是独立的

javascript - 检查javascript对象是否有嵌套的键值对

svg - 如何在 D3 中使用 svg 文件作为图像源

javascript - 在 JavaScript 中基于文件同步调用 API

javascript - 我无法使用 Javascript 使用 JSON 进行解析

javascript - 忘记密码 UI 在 laravel 中无法正常工作

javascript - 功能 react : Increment react state after if statement

javascript - Internet Explorer 11 中使用 D3.js 处理异常鼠标悬停

node.js - 使用node.js在浏览器上显示dc图表

javascript - 输入/更新/退出连接模式 Bostock 示例似乎不适用于位置 0 处的新数据 "inserted"