Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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
Javascript 如何设置只有特定年份的d3Plus时间表?_Javascript_D3.js_D3plus - Fatal编程技术网

Javascript 如何设置只有特定年份的d3Plus时间表?

Javascript 如何设置只有特定年份的d3Plus时间表?,javascript,d3.js,d3plus,Javascript,D3.js,D3plus,目前,我正试图绘制一张只有4年时间的热图。我的数据包含19962000620152016年的值。但是,在这两个年份之间没有任何值 我想知道是否有任何值仅显示数据中设置的年份 我的图表当前如下所示: . 但是,我希望它只显示数据集中的年份,而不是2016-1996年之间的所有年份。是否有一个内置的功能,我错过了 下面是我的代码示例 var tree = d3plus.viz() .container("#myDiv") .data(reformatted)

目前,我正试图绘制一张只有4年时间的热图。我的数据包含19962000620152016年的值。但是,在这两个年份之间没有任何值

我想知道是否有任何值仅显示数据中设置的年份

我的图表当前如下所示: . 但是,我希望它只显示数据集中的年份,而不是2016-1996年之间的所有年份。是否有一个内置的功能,我错过了

下面是我的代码示例

var tree = d3plus.viz()
        .container("#myDiv")
        .data(reformatted)
        .title({
            "value": title
        })
        .font({
            "family": "Open Sans",
            "size":16,
            "color":  "#2D7CBE",
        })

        .type("tree_map")
        .id(categoryDropdown)
        .size(xAxisDropdown)
        .labels({"align": "center", "valign": "top"})
        .time({"value":timeDropdown, "solo": yearsArr[0] })
        .resize(true)
        .color({
            scale:colorpicker
        })
        .draw();
在这种情况下,solo设置为在年份的第一年开始绘制图表。年份为[19962000620152016]。其中as timeDropdown是从数据对象获取时间值

下面是我当前代码示例的链接


对我的问题的任何见解都会有很大帮助,谢谢

您希望只显示数据集中的年份,而不是2016-1996年之间的所有年份

使用不同的比例:

scaleTime()或scaleLinear()
它获取数据的最小值和最大值的域值,并获取宽度的范围,因此它将正确显示

缩放带()
它仅按您输入的数组计算比例

使用
scaleBand()
将帮助您阅读d3文档api以了解更多信息

或者在绘制时可以使用过滤函数,如

function(d,i){
  if(d ==  1996){
  return d
 }
}
你不张贴你的工作简单的代码,我不知道你的代码,也许这会有帮助

当我搜索你的问题时,我发现了这个

.ui([
  {
    "method" : "size",
    "value"  : [ '1996', '2015' , '2016' ]
  }]
   )
改变

.time({"value":timeDropdown, "solo": yearsArr[0] })

对此,但点击功能不再起作用了

谢谢@KEKUATAN然而,我认为你给我的答案是关于d3库的,我在哪里使用d3plus寻找答案?你知道如何在d3plus中实现d3函数吗?这里有一个指向当前工作代码的链接。我曾尝试将这些属性添加到D3plus代码中,但它似乎不起作用,任何洞察都会对@KEKUATAN有所帮助