gpt4 book ai didi

javascript - d3.js 指定 x 轴的文本

转载 作者:可可西里 更新时间:2023-11-01 01:36:20 25 4
gpt4 key购买 nike

我的 x 轴当前有编号的刻度。我希望用我的对象中的数据替换刻度(特别是 关键字 值)。我将如何做到这一点?

I have a working Fiddle

var dataset = [
{"keyword": "payday loans", "global": 1400000, "local": 673000, "cpc": "14.11"},
{"keyword": "title loans", "global": 165000, "local": 160000, "cpc": "12.53" },
{"keyword": "personal loans", "global": 550000, "local": 301000, "cpc": "6.14"},
{"keyword": "online personal loans", "global": 15400, "local": 12900, "cpc": "5.84"},
{"keyword": "online title loans", "global": 111600, "local": 11500, "cpc": "11.74"}
];

var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
// xAxis
svg.append("g") // Add the X Axis
.attr("class", "x axis")
.attr("transform", "translate(0," + (h) + ")")
.call(xAxis);
//xAxis Label
svg.append("text")
.attr("transform", "translate(" + (w / 2) + " ," + (h + margin.bottom - 5) +")")
.style("text-anchor", "middle")
.text("Keyword");

最佳答案

实现此目的的最简单方法是为轴设置 tickFormat 函数:

var xAxis = d3.svg.axis()
.scale(xScale)
.tickFormat(function(d) { return dataset[d].keyword; })
.orient("bottom");

您可能需要稍微调整宽度以适合标签(或 rotate them )。

执行此操作的“正确”方法是将 xScale 的域值指定为关键字而不是数组索引。然后,您还必须更改所有其他使用 xScale 的代码。

关于javascript - d3.js 指定 x 轴的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16179021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com