D3 を使用して、-90 度回転し、Y 軸を中心とする Y 軸ラベルが必要です。これは簡単なことだと思い、次のように書きました。
// Y Axis Label
svg.append('svg:text')
.attr('class', 'y label')
.attr('text-anchor', 'middle')
.attr('y', 0)
.attr('width', height)
.attr('transform', 'translate(-' + yAxisSpacing + ',' + height + ') rotate(-90)')
.text('Y Axis Label')
height
この場合、グラフの高さ (svg が占める垂直領域) です。上記のコードは、<text>
要素をグラフの左下にレンダリングし、その左下の点を基準にしてテキストを中央に配置します。は変更されwidth
ないため、中央に配置される代わりに、SVG の左下隅からはみ出します。
width
がグラフの と等しい場合、height
その中のテキストは垂直方向に中央揃えになると推測していました。そうではないようです-または-要素で機能display:block
するために、SVGで設定する必要があるいくつかの魔法のタイプのプロパティがあります。width
<text>
これはどのように行うべきですか?
応答に基づいて、javascript ルートを使用し、上記の行を (height/2) に変更しました...
.attr('transform', 'translate(-' + yAxisSpacing + ',' + height / 2 + ') rotate(-90)')