Skip to content

Instantly share code, notes, and snippets.

@zanarmstrong
Created January 18, 2018 16:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zanarmstrong/35a23338f6ec60c1e91aa77c37502212 to your computer and use it in GitHub Desktop.
Save zanarmstrong/35a23338f6ec60c1e91aa77c37502212 to your computer and use it in GitHub Desktop.
fresh block
license: mit
<!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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment