var margin = { top: 50, right: 50, bottom: 50, left: 50},
w = 300 - margin.left - margin.right,
h = 600 - margin.top - margin.bottom,
circleRadii = 15,
triData = [{x: 20, y: 30}, {x: 50, y: 120}, {x: 140, y: 160}],
circleData = [{x: 10, y: 10}, {x: 40, y: 80}, {x: 160, y: 70}];
var svg = d3.select("body")
.append("svg")
.attr("width", w + margin.left + margin.right)
.attr("height", h + margin.left + margin.right)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var tri = svg.selectAll(".point")
.data(triData)
.enter().append("path")
.attr("class", "point")
.attr("stroke", "none")
.attr("fill", "rgba(30,110,160,.5)")
.attr("d", d3.svg.symbol().type("triangle-up").size(1024*2))
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
var circles = svg.selectAll("circle")
.data(circleData)
.enter()
.append("circle");
var circleAttr = circles
.attr("cx", function (d) { return d.x; })
.attr("cy", function (d) { return d.y; })
.attr("r", circleRadii)
.style("fill", "rgba(10,100,0,.5)");
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>