block by zanarmstrong 06990ebd9e330e29b9affefeb2cf3819

fresh block

Full Screen

Built with blockbuilder.org

forked from zanarmstrong‘s block: fresh block

index.html

<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  <script src="https://d3js.org/d3.v4.min.js"></script>
  
  <script src="https://d3js.org/d3-scale-chromatic.v1.min.js"></script>
  <style>
    body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
  </style>
</head>

<body>
  <script>
    // Feel free to change or delete any of the code you see in this editor!
    var svg = d3.select("body").append("svg")
      .attr("width", 960)
      .attr("height", 500)

    var string = "Set middle of color spectrum to white";
    var c = 20
    
    
    var colorsInput = d3.scaleSequential(d3.interpolateBrBG);
    var centerwidth = .15
    var domain = d3.range(0,1,1/c)
    var range = []
    domain.forEach(function(cut){
      if(cut > (.5 - centerwidth) & cut < (.5 + centerwidth)){
        range.push('white')
      } else {
	      range.push(colorsInput(cut))
      }
    })
     
    var colors = d3.scaleLinear()
     .domain(domain)
     .range(range)
    
      svg.selectAll(".character")
       .data(string.split(""))
       .enter()
       .append("text")
      .text(function(d){return d})
      .attr("y", 100)
      .attr("x", function(d,i){return i*20})
      .attr("font-size", 36)
      .attr("font-family", "monospace")
      .attr("fill", function(d,i){return colorsInput(i / string.length)})
  

     svg.selectAll(".character")
       .data(string.split(""))
       .enter()
       .append("text")
      .text(function(d){return d})
      .attr("y", 200)
      .attr("x", function(d,i){return i*20})
      .attr("font-size", 36)
      .attr("font-family", "monospace")
      .attr("fill", function(d,i){return colors(i / string.length)})
  

  </script>
</body>