散布図で表示するシンボルを菱形にする (SVG使用)

説明

D3.jsで散布図で表示するシンボルを菱形にするには生成したパスに対してd属性に値を指定します。この値にd3.svg.symbol().type("diamond")を指定します。

サンプル [サンプルを実行する] [サンプルをダウンロード]

HTMLソース

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js サンプル</title>
<link rel="stylesheet" href="css/main.css">
<style>
	svg { border: 1px solid black; }
</style>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<h1>D3.jsサンプル</h1>
<div id="myGraph"></div>
<script src="js/sample.js"></script>
</body>
</html>

JavaScriptコード

var list = [[120,210, 43], [230, 40, 10], [200, 130, 12], [15, 225, 3], [182, 75, 15], [50, 20, 8], [160, 140, 20], [160, 90, 16], [310, 10, 24]];
var svgWidth = 320;	// SVG領域の横幅
var svgHeight = 240;	// SVG領域の縦幅
// SVGの表示領域を生成
var svg = d3.select("#myGraph").append("svg")
	.attr("width", svgWidth).attr("height", svgHeight)
// 散布図を描画
svg.selectAll("path")
	.data(list)
	.enter()
	.append("path")	// パスを生成
	.attr("transform", function(d) { return "translate(" + d[0] + "," + d[1] + ")"; })	// 位置を調整
	.attr("d", d3.svg.symbol().type("diamond"));	// シンボルを指定する