Skip to content

Instantly share code, notes, and snippets.

@marcdhansen
Last active December 23, 2018 01:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save marcdhansen/c23fe5487831978244fe to your computer and use it in GitHub Desktop.
Save marcdhansen/c23fe5487831978244fe to your computer and use it in GitHub Desktop.
Example of getting gist to work with jsfiddle
body {
font: 12px Arial;
}
path {
stroke: steelblue;
stroke-width: 2;
fill: none;
}
.axis path, .axis line {
fill: none;
stroke: grey;
stroke-width: 1;
shape-rendering: crispEdges;
}
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
</body>
var data1 = [
{date: "1-May-12",close: "58.13"},
{date: "30-Apr-12",close: "53.98"},
{date: "27-Apr-12",close: "67.00"},
{date: "26-Apr-12",close: "89.70"},
{date: "25-Apr-12",close: "99.00"}
];
var data2 = [
{date: "1-May-12",close: "58.13"},
{date: "26-Mar-12",close: "606.98"}
];
var data3 = [
{date: "29-Mar-12",close: "58.13"},
{date: "26-Mar-12",close: "606.98"}
];
var data4 = [
{date: "29-Mar-21",close: "58.13"},
{date: "26-Mar-12",close: "606.98"}
];
var data = data3;
var margin = {
top: 30,
right: 20,
bottom: 30,
left: 50
},
width = 600 - margin.left - margin.right,
height = 270 - margin.top - margin.bottom;
var parseDate = d3.time.format("%d-%b-%y").parse;
var x = d3.time.scale().range([0, width]);
var y = d3.scale.linear().range([height, 0]);
var xAxis = d3.svg.axis().scale(x)
.orient("bottom").ticks(5);
var yAxis = d3.svg.axis().scale(y)
.orient("left").ticks(5);
var valueline = d3.svg.line()
.x(function (d) {
return x(d.date);
})
.y(function (d) {
return y(d.close);
});
function drawData(data){
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 + ")");
data.forEach(function (d) {
d.date = parseDate(d.date);
d.close = +d.close;
});
// 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.close;
})]);
svg.append("path") // Add the valueline path.
.attr("class", "line")
.attr("d", valueline(data));
svg.append("g") // Add the X Axis
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g") // Add the Y Axis
.attr("class", "y axis")
.call(yAxis);
}
drawData(data1);
drawData(data2);
drawData(data3);
drawData(data4);
name: Example of getting gist to work with jsfiddle
description: Send gist d3.js example (from d3 tips and tricks, by Malcolm Maclean) to jsfiddle (http://doc.jsfiddle.net/use/gist_read.html)
authors:
- Malcolm Maclean
resources:
- http://d3js.org/d3.v3.min.js
wrap: l
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment