次のスクリプトは、3つのラベルとタイトルを持つ点スケール軸を作成します。 body cssセレクタは、本文中のすべてのテキスト要素のfont-familyとfont-sizeを定義します。軸のタイトルはcssの規則の影響を受けますが、軸の目盛りのラベルはテキスト要素ではありますが、それはありません。私は、.axisテキストセレクタを使ってティックラベルスタイルを設定できることを知っています。たぶん私はここで何かを見逃しているかもしれませんが、ボディセレクターで目盛りラベルがレンダリングされないのはなぜですか?ここでd3.jsの軸目盛ラベルのスタイル
はコードです:
<!doctype html>
<meta charset="utf-8">
<script src="d3.min.V4.js"></script>
<style>
body {
font-family: Courier;
font-size: 18px;
}
</style>
<body>
</body>
<script>
var margin = {top: 20, right: 60, bottom: 40, left: 70},
width = 600,
height = 100;
var svg = d3.select('body').append('svg')
.attr('width', width)
.attr('height', height);
var xScale = d3.scalePoint().domain(["blue", "red", "green"]).range([margin.left, width-margin.right]);
// Add the x Axis
svg.append("g")
.attr("transform", "translate(0," + (height - margin.bottom) + ")")
.attr("class", "axis")
.call(d3.axisBottom(xScale)
);
//x axis title
svg.append('text')
.text('Colors')
.attr('x', width/2)
.attr('y', height - 5)
.style("text-anchor", "middle");
</script>
ありがとうございますが、これは私の質問には対応していません。軸のタイトル「色」もSVGテキストですが、本文のCSSセレクタの影響を受けます。 – spyrostheodoridis
はい、あなたは絶対に正しいです。ソースコードを読むことは常に良い習慣です! – spyrostheodoridis