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