Skip to content

Instantly share code, notes, and snippets.

@sxywu sxywu/.block
Last active Oct 20, 2016

Embed
What would you like to do?
Barley Yields -- Crookston, v4
license: mit
yield variety year site
27 Manchuria 1931 University Farm
48.86667 Manchuria 1931 Waseca
27.43334 Manchuria 1931 Morris
39.93333 Manchuria 1931 Crookston
32.96667 Manchuria 1931 Grand Rapids
28.96667 Manchuria 1931 Duluth
43.06666 Glabron 1931 University Farm
55.2 Glabron 1931 Waseca
28.76667 Glabron 1931 Morris
38.13333 Glabron 1931 Crookston
29.13333 Glabron 1931 Grand Rapids
29.66667 Glabron 1931 Duluth
35.13333 Svansota 1931 University Farm
47.33333 Svansota 1931 Waseca
25.76667 Svansota 1931 Morris
40.46667 Svansota 1931 Crookston
29.66667 Svansota 1931 Grand Rapids
25.7 Svansota 1931 Duluth
39.9 Velvet 1931 University Farm
50.23333 Velvet 1931 Waseca
26.13333 Velvet 1931 Morris
41.33333 Velvet 1931 Crookston
23.03333 Velvet 1931 Grand Rapids
26.3 Velvet 1931 Duluth
36.56666 Trebi 1931 University Farm
63.8333 Trebi 1931 Waseca
43.76667 Trebi 1931 Morris
46.93333 Trebi 1931 Crookston
29.76667 Trebi 1931 Grand Rapids
33.93333 Trebi 1931 Duluth
43.26667 No. 457 1931 University Farm
58.1 No. 457 1931 Waseca
28.7 No. 457 1931 Morris
45.66667 No. 457 1931 Crookston
32.16667 No. 457 1931 Grand Rapids
33.6 No. 457 1931 Duluth
36.6 No. 462 1931 University Farm
65.7667 No. 462 1931 Waseca
30.36667 No. 462 1931 Morris
48.56666 No. 462 1931 Crookston
24.93334 No. 462 1931 Grand Rapids
28.1 No. 462 1931 Duluth
32.76667 Peatland 1931 University Farm
48.56666 Peatland 1931 Waseca
29.86667 Peatland 1931 Morris
41.6 Peatland 1931 Crookston
34.7 Peatland 1931 Grand Rapids
32 Peatland 1931 Duluth
24.66667 No. 475 1931 University Farm
46.76667 No. 475 1931 Waseca
22.6 No. 475 1931 Morris
44.1 No. 475 1931 Crookston
19.7 No. 475 1931 Grand Rapids
33.06666 No. 475 1931 Duluth
39.3 Wisconsin No. 38 1931 University Farm
58.8 Wisconsin No. 38 1931 Waseca
29.46667 Wisconsin No. 38 1931 Morris
49.86667 Wisconsin No. 38 1931 Crookston
34.46667 Wisconsin No. 38 1931 Grand Rapids
31.6 Wisconsin No. 38 1931 Duluth
26.9 Manchuria 1932 University Farm
33.46667 Manchuria 1932 Waseca
34.36666 Manchuria 1932 Morris
32.96667 Manchuria 1932 Crookston
22.13333 Manchuria 1932 Grand Rapids
22.56667 Manchuria 1932 Duluth
36.8 Glabron 1932 University Farm
37.73333 Glabron 1932 Waseca
35.13333 Glabron 1932 Morris
26.16667 Glabron 1932 Crookston
14.43333 Glabron 1932 Grand Rapids
25.86667 Glabron 1932 Duluth
27.43334 Svansota 1932 University Farm
38.5 Svansota 1932 Waseca
35.03333 Svansota 1932 Morris
20.63333 Svansota 1932 Crookston
16.63333 Svansota 1932 Grand Rapids
22.23333 Svansota 1932 Duluth
26.8 Velvet 1932 University Farm
37.4 Velvet 1932 Waseca
38.83333 Velvet 1932 Morris
32.06666 Velvet 1932 Crookston
32.23333 Velvet 1932 Grand Rapids
22.46667 Velvet 1932 Duluth
29.06667 Trebi 1932 University Farm
49.2333 Trebi 1932 Waseca
46.63333 Trebi 1932 Morris
41.83333 Trebi 1932 Crookston
20.63333 Trebi 1932 Grand Rapids
30.6 Trebi 1932 Duluth
26.43334 No. 457 1932 University Farm
42.2 No. 457 1932 Waseca
43.53334 No. 457 1932 Morris
34.33333 No. 457 1932 Crookston
19.46667 No. 457 1932 Grand Rapids
22.7 No. 457 1932 Duluth
25.56667 No. 462 1932 University Farm
44.7 No. 462 1932 Waseca
47 No. 462 1932 Morris
30.53333 No. 462 1932 Crookston
19.9 No. 462 1932 Grand Rapids
22.5 No. 462 1932 Duluth
28.06667 Peatland 1932 University Farm
36.03333 Peatland 1932 Waseca
43.2 Peatland 1932 Morris
25.23333 Peatland 1932 Crookston
26.76667 Peatland 1932 Grand Rapids
31.36667 Peatland 1932 Duluth
30 No. 475 1932 University Farm
41.26667 No. 475 1932 Waseca
44.23333 No. 475 1932 Morris
32.13333 No. 475 1932 Crookston
15.23333 No. 475 1932 Grand Rapids
27.36667 No. 475 1932 Duluth
38 Wisconsin No. 38 1932 University Farm
58.16667 Wisconsin No. 38 1932 Waseca
47.16667 Wisconsin No. 38 1932 Morris
35.9 Wisconsin No. 38 1932 Crookston
20.66667 Wisconsin No. 38 1932 Grand Rapids
29.33333 Wisconsin No. 38 1932 Duluth
<!DOCTYPE html>
<meta charset="utf-8">
<style type="text/css">
/*css to go here*/
body {
font-family: arial;
font-size: 12px;
}
.g-chart-container {
width:350px;
margin:10px 0;
}
.g-location {
text-align: center;
font-weight: bold;
font-size:14px;
margin: 3px 0;
}
.axis line {
fill: none;
stroke: #ccc;
stroke-dasharray: 2px 3px;
shape-rendering: crispEdges;
stroke-width: 1px;
}
.axis text {
font-family: arial, sans-serif;
font-size: 12px;
pointer-events: none;
fill: #777;
}
.domain {
display: none;
}
.y.axis line {
}
.y.axis text {
text-anchor: end !important;
font-size:12px;
}
.g-slopegraph-path {
stroke: #ccc;
stroke-width: 2px;
opacity:0.5;
}
.bounder {
fill:none;
stroke: red;
}
</style>
<body>
<div class="g-chart-container">
<h5 class="g-location"></h5>
<div class="g-chart"></div>
</div>
</body>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
//JS to go here
var myLocationName = "Crookston";
//http://bl.ocks.org/mbostock/5577023
var colors10 = ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"]
;
var color = d3.scaleOrdinal()
.range(colors10);
var margin = {top: 0, right: 100, bottom: 20, left: 100};
var width = 720 - margin.left - margin.right,
height = 400 - margin.top - margin.bottom;
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var yScale = d3.scaleLinear()
.range([height,0]);
var xScale = d3.scaleLinear()
.range([0, width])
.domain([1930.5, 1932.5]);
var xAxis = d3.axisBottom()
.scale(xScale)
.tickSize(-height)
.tickValues([1931,1932])
.tickFormat(d3.round);
var yAxis = d3.axisLeft()
.scale(yScale);
var line = d3.line()
.x(function(d) { return xScale(d.year); })
.y(function(d) { return yScale(d.yield); });
d3.tsv("barley.tsv", ready);
function ready(err, data) {
if (err) throw "error loading data";
//FORMAT data
data.forEach(function(d) {
d.year = +d.year;
d.yield = +d.yield;
});
var myLocationData = data.filter(function(d) {
return d.site === myLocationName;
});
var varieties = data.map(function(d) { return d.variety; });
var uniqVarieties = d3.set(varieties).values();
color.domain(uniqVarieties);
d3.select(".g-location").text(myLocationName);
var yieldsByVariety = d3.nest()
.key(function(d) { return d.variety; })
.entries(myLocationData);
var maxYield = d3.max(data, function(d) { return d.yield; });
yScale.domain([0, maxYield ]);
svg.append("g")
.attr("transform", "translate(0," + height + ")")
.attr("class", "x axis")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.call(yAxis);
var varietyLineGroup = svg.selectAll(".g-variety-group")
.data(yieldsByVariety)
.enter()
.append("g")
.attr("class", "g-variety-group");
varietyLineGroup.append("text")
.text(function(d) {
return d.values[1].variety;
})
.attr("x", xScale(1932))
.attr("dx", 5)
.attr("y", function(d) { return yScale(d.values[1].yield); });
varietyLineGroup.append("circle")
.attr("r", 2)
.style("fill", function(d) { return color(d.key); })
.attr("cx", function(d) { return xScale(d.values[0].year); })
.attr("cy", function(d) { return yScale(d.values[0].yield); });
varietyLineGroup.append("circle")
.attr("r", 2)
.style("fill", function(d) { return color(d.key); })
.attr("cx", function(d) { return xScale(d.values[1].year); })
.attr("cy", function(d) { return yScale(d.values[1].yield); });
varietyLineGroup.append("path")
.attr("class", "g-slopegraph-path")
.attr("d", function(d) { return line(d.values); })
.style("stroke", function(d) { return color(d.key); });
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.