角丸四角形を描画する (SVG使用)

説明

D3.jsで角丸四角形を描画するにはappend()メソッドでrect要素を追加します。角丸四角形は横の角丸半径と縦の角丸半径を別途指定することができます。ただし、それぞれの角ごとに指定することはできません。append()メソッドでrect要素を追加した後は必要な属性値を設定します。角丸四角形の場合、X座標はcx属性、Y座標はcy属性に設定します。四角形の横幅はwidth属性に、縦幅はheight属性に設定します。横の角丸半径はrx属性に、縦の角丸半径はry属性に指定します。また、線の色はstroke属性に、線幅はstroke-width属性に設定します。塗りを無しにしたい場合はfill属性に"none"を指定します。

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

HTMLソース

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js サンプル</title>
<link rel="stylesheet" href="css/main.css">
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<h1>D3.jsサンプル</h1>
<div id="result"></div>
<script src="js/sample.js"></script>
</body>
</html>

JavaScriptコード

d3.select("#result")	// ID名resultの要素を指定
	.append("svg")	// svg要素を追加
	.attr("width", 320)	// svg要素の横幅を指定
	.attr("height", 240)	// svg要素の縦幅を指定
	.append("rect")	// 角丸四角形を追加。以後のメソッドは、この角丸四角形に対しての設定になる
		.attr("x", 80)	// x座標を指定
		.attr("y", 60)	// y座標を指定
		.attr("width", 100)	// 横幅を指定
		.attr("height", 100)	// 縦幅を指定
		.attr("rx", 20)	// 横の角丸半径を指定
		.attr("ry", 20)	// 縦の角丸半径を指定
		.attr("stroke", "blue")	// 青色にする
		.attr("fill", "cyan")	// 塗りは水色にする
		.attr("stroke-width", 2)	// 線幅を指定