Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 立体主义中以10分钟为步长的轴1天_D3.js_Cubism.js - Fatal编程技术网

D3.js 立体主义中以10分钟为步长的轴1天

D3.js 立体主义中以10分钟为步长的轴1天,d3.js,cubism.js,D3.js,Cubism.js,我试图在立体主义中用1小时的间隔来做一个24小时的轴 var context = cubism.context() .serverDelay(30*1000) .step(10 * 60 * 1000) //The step size is 10 mins .size(window_width - 200); d3.select("#viz").selectAll(".axis") .data(["top", "bottom"]) .enter().ap

我试图在立体主义中用1小时的间隔来做一个24小时的轴

var context = cubism.context()
    .serverDelay(30*1000)
    .step(10 * 60 * 1000) //The step size is 10 mins
    .size(window_width - 200);

d3.select("#viz").selectAll(".axis")
    .data(["top", "bottom"])
    .enter().append("div")
    .attr("class", function(d) { return d + " axis"; })
    .each(function(d) { d3.select(this).call(context.axis().ticks(d3.time.hours, 1).orient(d)); });
这一行context.axis().ticks(d3.time.hours,1).orient(d)不知何故是错误的。因为轴文本重叠,没有任何可见内容。 我尝试了很多组合,比如60分钟,1天,但似乎没有任何效果。
谁能帮帮我吗。

你误解了
尺码的作用<代码>大小
不表示屏幕上可用的像素数。它指示您拥有的数据点的数量,而这又是显示数据所需的像素数量。数据点的数量决定大小,而不是反过来

您提到,您的数据间隔为24小时,每10分钟有一个值。这使图形的宽度为144 px,而不是
窗口宽度-200
,正如您在
大小中指定的那样

这也解释了为什么尽管你尽了最大的努力,你还是无法在轴上获得更多的标签。立体主义不想弄乱你的小图形,所以它只允许你最多3或4个标签

解决此问题的最佳方法是增加数据点的数量。您可以通过两种方式执行此操作:

  • 步骤
    缩短到1或2分钟,以获得更宽的图形(1分钟可获得1440px宽的图像,2分钟可获得720px宽的图像)
  • 如果这是不可能的,增加你的时间窗口到一周(1008像素)

如果指定一个恒定的刻度数(本例中为12),会发生什么情况?对于刻度(12),它显示的是介于12点之间的天数。比如周五5点,下午12点,周六6点,12点你做了这样的事情:滴答声(12)还是滴答声(d3.time.hours,12)?第一个是我的意思。我做了第一个,即滴答声(12)