首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >D3js线图配置

D3js线图配置
EN

Stack Overflow用户
提问于 2016-11-27 16:41:50
回答 2查看 221关注 0票数 0

有人知道为什么这条线没有显示在图表中吗?

代码语言:javascript
运行
复制
 var dataline = [
        {"mes": 1, "impuestoPorcentaje": 30},
        {"mes": 2, "impuestoPorcentaje": 49},
        {"mes": 3, "impuestoPorcentaje": 100},
        {"mes": 4, "impuestoPorcentaje": 20},
        {"mes": 5, "impuestoPorcentaje": 200},
        {"mes": 6, "impuestoPorcentaje": 150},
        {"mes": 7, "impuestoPorcentaje": 80},
        {"mes": 8, "impuestoPorcentaje": 170}
     ];

          var wl = 600;

          var hl = 450;

          var svgl = d3.select("body").append("svg")
             .attrs({
                width: wl,
                height: hl
             });



          var lineOne =  d3.line()
            .x(function(d) { 
                return d.mes * 33; 
              })
            .y(function(d) { 
                return h-(d.impuestoPorcentaje * 3);
              })
            .interpolate ("linear");



           var vis = svgl.append("path")
                .attrs({

                    d: lineOne(impuestoPorcentaje),
                    "stroke": "blue" ,
                    "stroke-width" : 2,
                    "fill" : "none"

                }); 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-28 01:13:41

使用正确的代码,有4个问题(实际上是3个问题,因为我不确定第一个问题):

  1. 你是指“选择-多”吗?请记住,“”不是默认包的一部分。所以,你必须说:
  2. interpolate中没有d3.line。它应该是: .curve(d3.d3.curveBasis); 或者其他你想要的曲线。
  3. 您必须将数据数组传递给您的行生成器。因此,与其: d: lineOne(impuestoPorcentaje), 它应该是: d: lineOne(数据线)
  4. 代码中没有h,只有hl。因此,在行生成器中: .y(函数(D){返回hl-(d.impuestoPorcentaje * 3);})

这是您的工作代码:

代码语言:javascript
运行
复制
 var dataline = [{
     "mes": 1,
     "impuestoPorcentaje": 30
 }, {
     "mes": 2,
     "impuestoPorcentaje": 49
 }, {
     "mes": 3,
     "impuestoPorcentaje": 100
 }, {
     "mes": 4,
     "impuestoPorcentaje": 20
 }, {
     "mes": 5,
     "impuestoPorcentaje": 200
 }, {
     "mes": 6,
     "impuestoPorcentaje": 150
 }, {
     "mes": 7,
     "impuestoPorcentaje": 80
 }, {
     "mes": 8,
     "impuestoPorcentaje": 170
 }];

 var wl = 600;

 var hl = 450;

 var svgl = d3.select("body").append("svg")
     .attrs({
         width: wl,
         height: hl
     });



 var lineOne = d3.line()
     .x(function(d) {
         return d.mes * 33;
     })
     .y(function(d) {
         return hl - (d.impuestoPorcentaje * 3);
     })
     .curve(d3.curveBasis);



 var vis = svgl.append("path")
     .attrs({

         d: lineOne(dataline),
         "stroke": "blue",
         "stroke-width": 2,
         "fill": "none"

     });
代码语言:javascript
运行
复制
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://d3js.org/d3-selection-multi.v1.min.js"></script>

票数 0
EN

Stack Overflow用户

发布于 2016-11-27 17:45:26

您没有将数据绑定到您的路径。

代码语言:javascript
运行
复制
svgl.append("path")
  .datum(dataline)
  .attrs({ /* ... */ });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40831290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档