D3折线图,显示第一个和最后一个点的值

德波

以下是D3中的在线聊天的代码。当前,它显示该行上的所有值,但我想显示的只是最后一个点,最后一个末尾带有“ B”。我该如何解决?

 <!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>Unemployment by Ward Bar Chart</title>

 <style type="text/css">
  .axis text{
  font-family: Arial;
  font-size: 13px;
  color: #333333;
  text-anchor: end;
  }

  path { 
  stroke: steelblue;
  stroke-width: 2;
  fill: none;
  }

 .axis path,
 .axis line {
 fill: none;
 stroke: grey;
 stroke-width: 1;
 shape-rendering: crispEdges;
 } 


 .textlabel{
    font-family:  Arial;
    font-size:13px;
    color: #333333;
    text-anchor: middle;
  }
}

</style>
<body>


 <script src="http://d3js.org/d3.v3.min.js"></script>

 <script>

 // Set the dimensions of the canvas / graph
 var margin = {top: 20, right: 0, bottom: 60, left: 60},

 width = 475;
 height = 350;
 padding = 100; 


  // Adds the svg canvas
  var svg = d3.select("body")
  .append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
    .append("g")
   .attr("viewBox", "0 0 " + width + " " + height);


 // Parse the date / time
 var parseDate = d3.time.format("%m/%d/%y").parse;
 var formatTax = d3.format(",.2f");

 // Set the ranges
 var x = d3.time.scale()
    .range([0, width - margin.right - margin.left], .1);


  var y = d3.scale.linear()
    .range([height - margin.top - margin.bottom, 0]);

 // Define the axes
 var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .ticks(5);

 var yAxis = d3.svg.axis()
        .scale(y)
        .orient("left")
        .tickFormat(function(d) {return "$" + d + "B"});



 // Define the line
 var valueline = d3.svg.line()

.x(function(d) { return x(d.Date); })
.y(function(d) { return y(d["Tax Collections"]); });




// Get the data
 d3.csv("Yearly Tax Collections.csv", function(error, data) {
   data.forEach(function(d) {
    d.Date = parseDate(d.Date);
    d["Tax Collections"] = formatTax(+d["Tax Collections"]/1000000000);
});


 // Scale the range of the data
  x.domain(d3.extent(data, function(d) { return d.Date; }));
  y.domain([0, d3.max(data, function(d) { return d["Tax Collections"]; })]);

   // Add the valueline path.
     svg.append("path")
    .attr("class", "line")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
     .attr("d", valueline(data));

// Add the X Axis
svg.append("g")
    .attr("class", "x axis")
    .attr("transform", "translate(" + margin.left + "," + (height -         margin.bottom) + ")")
    .call(xAxis);

   // Add the Y Axis
   svg.append("g")
    .attr("class", "y axis")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
    .call(yAxis);

    // Y-axis labels
   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "13px")
   .style("color", "#333333")
   .attr("transform", "translate ("+ (padding/4) + "," +(height/2)+") rotate(-90)")
   .text("Tax Revenue")
   .style("font-family", "Arial"); 

   // X-axis labels
   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "13px")
   .style("color", "#333333")
   .attr("transform", "translate("+ (width/2) + "," +(height-(padding/4)) + ")")
   .text("Fiscal Year")
   .style("font-family", "Arial"); 

 //source

   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "13px")
   .style("color", "#333333")
   .attr("transform", "translate("+ (width/4.5) + "," +(height/1) + ")")
   .text("Source: DC OCFO")
   .style("font-family", "Arial")

//title for the chart 

   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "16px")
   .style("color", "#333333")
   .attr("transform", "translate("+ (width/3) + "," +(height/30) + ")")
   .text("DC Total Tax Revenues by Fiscal Year")
   .style("font-family", "Arial");


  svg.append("text")
  .attr("text-anchor", "left")
  .style("font-size", "10x")
  .style("color", "#333333")
  .attr("transform", "translate("+ (width/20) + "," +(height/12) + ")")
  .text("2000 to 2015")
  .style("font-family", "Arial")

  //line labels

  svg.append('g')
  .classed('labels-group', true)
  .selectAll('text')
  .data(data)
  .enter()

  .append('text')
  .classed('label',true)
  .attr({
    'x':function(d,i) {
        return x(d.Date);

    },
      'y':function(d,i) {
        return y(d["Tax Collections"]);
    }
  })
 .text(function(d,i){
    return d["Tax Collections"];
   })
 .attr("transform", "translate(" + margin.left + "," + margin.top + ")") 



});

</script>
</body>

这就是我所拥有的

这就是我想要的样子

提前非常感谢您!

奇异博士
 <!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>Unemployment by Ward Bar Chart</title>

 <style type="text/css">
  .axis text{
  font-family: Arial;
  font-size: 13px;
  color: #333333;
  text-anchor: end;
  }

  path { 
  stroke: steelblue;
  stroke-width: 2;
  fill: none;
  }

 .axis path,
 .axis line {
 fill: none;
 stroke: grey;
 stroke-width: 1;
 shape-rendering: crispEdges;
 } 


 .textlabel{
    font-family:  Arial;
    font-size:13px;
    color: #333333;
    text-anchor: middle;
  }
}

</style>
<body>


 <script src="http://d3js.org/d3.v3.min.js"></script>

 <script>

 // Set the dimensions of the canvas / graph
 var margin = {top: 20, right: 0, bottom: 60, left: 60},

 width = 475;
 height = 350;
 padding = 100; 


  // Adds the svg canvas
  var svg = d3.select("body")
  .append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
    .append("g")
   .attr("viewBox", "0 0 " + width + " " + height);


 // Parse the date / time
 var parseDate = d3.time.format("%m/%d/%y").parse;
 var formatTax = d3.format(",.2f");

 // Set the ranges
 var x = d3.time.scale()
    .range([0, width - margin.right - margin.left], .1);


  var y = d3.scale.linear()
    .range([height - margin.top - margin.bottom, 0]);

 // Define the axes
 var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .ticks(5);

 var yAxis = d3.svg.axis()
        .scale(y)
        .orient("left")
        .tickFormat(function(d) {return "$" + d + "B"});



 // Define the line
 var valueline = d3.svg.line()

.x(function(d) { return x(d.Date); })
.y(function(d) { return y(d["Tax Collections"]); });




// Get the data
 d3.csv("Yearly Tax Collections.csv", function(error, data) {
   data.forEach(function(d) {
    d.Date = parseDate(d.Date);
    d["Tax Collections"] = formatTax(+d["Tax Collections"]/1000000000);
});


 // Scale the range of the data
  x.domain(d3.extent(data, function(d) { return d.Date; }));
  y.domain([0, d3.max(data, function(d) { return d["Tax Collections"]; })]);

   // Add the valueline path.
     svg.append("path")
    .attr("class", "line")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
     .attr("d", valueline(data));

// Add the X Axis
svg.append("g")
    .attr("class", "x axis")
    .attr("transform", "translate(" + margin.left + "," + (height -         margin.bottom) + ")")
    .call(xAxis);

   // Add the Y Axis
   svg.append("g")
    .attr("class", "y axis")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
    .call(yAxis);

    // Y-axis labels
   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "13px")
   .style("color", "#333333")
   .attr("transform", "translate ("+ (padding/4) + "," +(height/2)+") rotate(-90)")
   .text("Tax Revenue")
   .style("font-family", "Arial"); 

   // X-axis labels
   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "13px")
   .style("color", "#333333")
   .attr("transform", "translate("+ (width/2) + "," +(height-(padding/4)) + ")")
   .text("Fiscal Year")
   .style("font-family", "Arial"); 

 //source

   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "13px")
   .style("color", "#333333")
   .attr("transform", "translate("+ (width/4.5) + "," +(height/1) + ")")
   .text("Source: DC OCFO")
   .style("font-family", "Arial")

//title for the chart 

   svg.append("text")
   .attr("text-anchor", "middle")
   .style("font-size", "16px")
   .style("color", "#333333")
   .attr("transform", "translate("+ (width/3) + "," +(height/30) + ")")
   .text("DC Total Tax Revenues by Fiscal Year")
   .style("font-family", "Arial");


  svg.append("text")
  .attr("text-anchor", "left")
  .style("font-size", "10x")
  .style("color", "#333333")
  .attr("transform", "translate("+ (width/20) + "," +(height/12) + ")")
  .text("2000 to 2015")
  .style("font-family", "Arial")

  //line labels

  svg.append('g')
  .classed('labels-group', true)
  .selectAll('text')
  .data(data)
  .enter()

  .append('text')
  .filter(function(d, i) { return i === 0 || i === (data.length - 1) })
  .classed('label',true)
  .attr({
    'x':function(d,i) {
        return x(d.Date);

    },
      'y':function(d,i) {
        return y(d["Tax Collections"]);
    }
  })
 .text(function(d,i){
    return "$" + d["Tax Collections"] + "B";
   })
 .attr("transform", "translate(" + margin.left + "," + margin.top + ")") 



});

</script>
</body>

假定数据数组按日期排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

D3如何找到折线图中最后一个点的高度

来自分类Dev

morrisjs折线图未显示第一个xLabel

来自分类Dev

如何在折线图中显示系列中的第一个数据?

来自分类Dev

Highcharts:如何在折线图的Y轴上设置第一个类别?

来自分类Dev

D3强制布局:分别定位第一个和最后一个节点

来自分类Dev

Chart.js-多个折线图-仅显示最后一个图表

来自分类Dev

为什么视口不会移动到折线图的最后一个 X 值?

来自分类Dev

MP图表在折线图的X_axis处显示一个额外的值?

来自分类Dev

在一个 VizFrame 中显示折线图和散点图

来自分类Dev

为什么d3折线图和条形图显示在同一时刻?

来自分类Dev

R:删除连接第一个和最后一个点的线

来自分类Dev

React d3-如何:在一个折线图上有几个战神

来自分类Dev

MySQL中的数据透视-根据datetime-column显示第一个和最后一个值

来自分类Dev

熊猫将组分为第一个值和最后一个值

来自分类Dev

AngularJs显示过滤列表的第一个和最后一个

来自分类Dev

仅显示产品分类的第一个和最后一个术语

来自分类Dev

仅在Highcharts中显示第一个和最后一个xAxis标签

来自分类Dev

Jassor:显示箭头的第一个和最后一个图像

来自分类Dev

Ruby 开关,只显示第一个和最后一个

来自分类Dev

如何在highChart.js折线图中的Y轴上的标签中显示最后一个数据点值

来自分类Dev

如何从list <string>获取第一个和最后一个值?

来自分类Dev

获取groupby中的第一个和最后一个值

来自分类Dev

删除第一个和最后一个出现列值的行

来自分类Dev

删除相同的值,但第一个和最后一个除外

来自分类Dev

选择数据集中的第一个,最后一个和单个观测值

来自分类Dev

多个第一个和最后一个非NA值(按组)

来自分类Dev

获取区域包围的第一个和最后一个值的索引

来自分类Dev

更改PHP行的第一个和最后一个值

来自分类Dev

Excel公式获取第一个和最后一个非零值

Related 相关文章

  1. 1

    D3如何找到折线图中最后一个点的高度

  2. 2

    morrisjs折线图未显示第一个xLabel

  3. 3

    如何在折线图中显示系列中的第一个数据?

  4. 4

    Highcharts:如何在折线图的Y轴上设置第一个类别?

  5. 5

    D3强制布局:分别定位第一个和最后一个节点

  6. 6

    Chart.js-多个折线图-仅显示最后一个图表

  7. 7

    为什么视口不会移动到折线图的最后一个 X 值?

  8. 8

    MP图表在折线图的X_axis处显示一个额外的值?

  9. 9

    在一个 VizFrame 中显示折线图和散点图

  10. 10

    为什么d3折线图和条形图显示在同一时刻?

  11. 11

    R:删除连接第一个和最后一个点的线

  12. 12

    React d3-如何:在一个折线图上有几个战神

  13. 13

    MySQL中的数据透视-根据datetime-column显示第一个和最后一个值

  14. 14

    熊猫将组分为第一个值和最后一个值

  15. 15

    AngularJs显示过滤列表的第一个和最后一个

  16. 16

    仅显示产品分类的第一个和最后一个术语

  17. 17

    仅在Highcharts中显示第一个和最后一个xAxis标签

  18. 18

    Jassor:显示箭头的第一个和最后一个图像

  19. 19

    Ruby 开关,只显示第一个和最后一个

  20. 20

    如何在highChart.js折线图中的Y轴上的标签中显示最后一个数据点值

  21. 21

    如何从list <string>获取第一个和最后一个值?

  22. 22

    获取groupby中的第一个和最后一个值

  23. 23

    删除第一个和最后一个出现列值的行

  24. 24

    删除相同的值,但第一个和最后一个除外

  25. 25

    选择数据集中的第一个,最后一个和单个观测值

  26. 26

    多个第一个和最后一个非NA值(按组)

  27. 27

    获取区域包围的第一个和最后一个值的索引

  28. 28

    更改PHP行的第一个和最后一个值

  29. 29

    Excel公式获取第一个和最后一个非零值

热门标签

归档