3.3 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 587d7fa8367417b2b2512bcc | SVG で図形を表示する | 6 | 301485 | display-shapes-with-svg |
--description--
前回のチャレンジでは、与えられた幅と高さで svg 要素を作成しました。これが表示されたのは、style タグ内でその要素に適用される background-color があったからです。 前回のコードでは、与えられた幅と高さのためのスペースを作りました。
次に行うことは、svg 領域に配置する図形の作成です。 SVG には、長方形や円など、サポートされている図形が数多くあります。 これらはデータを表示するために使用されます。 例えば、長方形 (<rect>) の SVG 図形で棒グラフのバーを作成できます。
svg 領域に図形を配置するときは、x 座標と y 座標に対応した位置を指定できます。 原点 (0, 0) は左上の隅にあります。 x が正の値であれば図形は原点から右へ移動し、y が正の値であれば図形は原点から下へ移動します。
前回のチャレンジで使用した 500 (幅) x 100 (高さ) の svg の中央に図形を置くには、x 座標を 250、y 座標を 50 に設定します。
SVG rect には 4 つの属性があります。 x 座標と y 座標は、svg 領域内で図形が置かれる位置を示します。 また、サイズを指定する height と width があります。
--instructions--
append() を使用して rect 図形を svg に加え、その width 属性を 25、height 属性を 100 に設定してください。 また、rect x 属性と y 属性をそれぞれ 0 に設定してください。
--hints--
ドキュメントには 1 個の rect 要素が必要です。
assert($('rect').length == 1);
rect 要素の width 属性を 25 に設定する必要があります。
assert($('rect').attr('width') == '25');
rect 要素の height 属性を 100 に設定する必要があります。
assert($('rect').attr('height') == '100');
rect 要素の x 属性を 0 に設定する必要があります。
assert($('rect').attr('x') == '0');
rect 要素の y 属性を 0 に設定する必要があります。
assert($('rect').attr('y') == '0');
--seed--
--seed-contents--
<body>
<script>
const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
const w = 500;
const h = 100;
const svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h)
// Add your code below this line
// Add your code above this line
</script>
</body>
--solutions--
<body>
<script>
const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
const w = 500;
const h = 100;
const svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h)
.append("rect")
.attr("width", 25)
.attr("height", 100)
.attr("x", 0)
.attr("y", 0);
</script>
</body>