我有一条使用d3
绘制的垂直线。假设我想像条形码一样重复一行几次。我该怎么做呢?
我知道这必须使用for
来完成,但我不知道如何做。
建议将非常有用。
小提琴
这是代码:
var height = 500; var width = 500; var svgContianer = d3.select("body") .append("svg") .attr("width", width) .attr("height", height) var line = svgContianer.append("line") .attr("x1", 20) .attr("x2", 20) .attr("y1", 100) .attr("y2", 0) .attr("stroke", "#000") .attr("stroke-width", 2)
提前感谢。
有比使用for
循环更好的选择。但是,无论如何,给你
var height = 500;
var width = 500;
var count = 10, padding = 5;
var svgContianer = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height)
for(var i = 0; i < count; ++i) {
var line = svgContianer.append("line")
.attr("x1", padding*i)
.attr("x2", padding*i)
.attr("y1", 100)
.attr("y2", 0)
.attr("stroke", "#000")
.attr("stroke-width", 2)
}
如果您想创建条形码,D3的方法是将每一行(元素)与其宽度(数据)绑定,然后使用D3的Enter
阶段来构建它们。
此外,对于条形码,您还需要将形状渲染
转换为crispEdges
。
演示。
var height = 500;
var width = 500;
var svgContianer = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height)
var line = svgContianer.selectAll("line")
.data([1, 2, 1, 3, 2, 1, 3, 2, 1, 3, 2, 4, 3, 1, 2, 2, 2, 1, 3, 2])
.enter()
.append("line")
.attr("x1", function (d, i) {
return 20 + 5 * i;
})
.attr("x2", function (d, i) {
return 20 + 5 * i;
})
.attr("y1", 100)
.attr("y2", 0)
.attr("stroke", "#000")
.attr("stroke-width", function (d) {
return d;
})
问题内容: 因此,以某种方式(玩转),我发现自己使用了regex这样的正则表达式。 从逻辑上讲,对我来说,它应表示: (一个数字正好一次)正好两次,即一个数字正好两次。 但实际上,它似乎仅表示“一个数字仅一次”(因此忽略了)。 使用或相似,可以看到相似的结果。 为什么会这样?它是在regex / Java文档中的某个地方明确声明的,还是只是Java开发人员即时做出的决定,还是一个错误? 还是实际上
我正在构建一个将事件呈现为D3图表的仪表板。比如一张D3气泡图;其中气泡大小是根据rest API上的kafka主题所消耗的事件来修改的。对于数据库数据源,我有类似的代码(使用异步xsjs调用);迭代SELECT语句以刷新数据;但我不清楚我是否可以对Kafka的rest调用使用同样的技术。 我希望将所有javascript代码嵌入到HTML页面中(为了简单起见),但我怀疑调用kafka rest服
我想在D3中画一个棋盘: 我会满足于仅仅能够画出初始的游戏位置(如上)。 可能不需要king、queen、knight等的图像文件(有12个不同的部分),因为它们都是Unicode的一部分,作为代码点2654-265f: Unicode字符出现在任何现代浏览器中: 这是一个很好的例子 这是一个很好的例子 任何指示或帮助将非常感谢。
我今天在开发人员工作面试中遇到了以下场景,这是其中一个问题,也是我唯一没有回答的问题。 将数字串联N次,然后在2017年前计算他的模数。 例如:对于N=5,数字为55555,结果为Mod(55555 2017)=1096;对于N=10,数字为10101010101010,结果Mod(101010101010102017)=1197 现在我要计算的数字是58184241583791680。我得到的唯
问题内容: 在Perl中,我可以使用以下语法多次重复一个字符: 有没有简单的方法可以在Javascript中完成此操作?我显然可以使用一个函数,但是我想知道是否有任何内置方法或其他一些巧妙的技术。 问题答案: 如今,字符串方法几乎在所有地方都已实现。它不在InternetExplorer中。)因此,除非需要支持较旧的浏览器,否则只需编写以下内容: 在之前,我们使用了此技巧: (请注意,长度为11的
我想把一个整数变成一个金字塔。一、 E数字3: 因此,根据我找到的答案,我做了如下: 但它不起作用,而且是次优的。有没有一种简单的方法可以在同一行中重复整数n次? 也不是很高兴,但似乎我不能只使用System.out.println(int x, int n次)