スキルを実践するために、D3グラフで自分の凡例を作成しています。 svgの色付きの矩形を、対応するテキストと垂直に並べることができません。 2のためのyプロパティが同じであることを考えるとここでD3とjavascriptを使用したSVG rectとSVGテキストの垂直方向の整列
私のコードとスクリーンショット
mk=[0,1,2,3,4]
var legend_dim=50
var legend_X=300
var colors=["#1f78b4","#33a02c","#e31a1c","#ff7f00","#6a3d9a","#b15928"]
d3.select("#chart").selectAll("rect")
.data(mk)
.enter()
.append("rect")
.style("fill", function(d,i) { return colors[i]}) .attr("x", function(d,i) { return 10*i})
.attr("x", legend_X)
.attr("y", function (d,i){return i*legend_dim})
.attr("width", legend_dim)
.attr("height", legend_dim)
d3.select("#chart").selectAll("text")
.data(mk)
.enter()
.append("text")
.text(function(d,i) { return i})
.attr("x", legend_X+20)
.attr("y", function (d,i){return (i)*legend_dim})
.attr("font-size","12px")
は、なぜずれるのですか? どのように並べ替えることができますか? ところで、テキストボックスの高さと幅を設定する方法はありませんか?
うわー!私はそれが簡単な問題だったと信じていたほどの "科学"を想像することができませんでした。私は単純に、長方形とテキストを水平方向と垂直方向の両方に整列させた高さのコンテナを描くことができると考えました。その時点で、テキストとカラーボックスとの位置合わせは簡単でした。ありがとう。明日、あなたが提案した解決策を試してみましょう。 – user3623123