Javascript 带日期范围的dimple.js过滤器x轴

Javascript 带日期范围的dimple.js过滤器x轴,javascript,d3.js,dimple.js,Javascript,D3.js,Dimple.js,我的工作酒窝js(d3)图表,并寻找过滤它的日期范围。 不久,我正在开发带有日期范围输入的图表,提交后,表格dimple.js图表将刷新,并显示所选日期范围的图表 我正在使用.tsv文件生成报表图形。我的代码如下所示 d3.tsv("data.tsv", function (data) { myChart = new dimple.chart(svg, data); myChart.setMargins("60px", "10px", "10px", "75px"); v

我的工作酒窝js(d3)图表,并寻找过滤它的日期范围。 不久,我正在开发带有日期范围输入的图表,提交后,表格dimple.js图表将刷新,并显示所选日期范围的图表

我正在使用.tsv文件生成报表图形。我的代码如下所示

d3.tsv("data.tsv", function (data) {
    myChart = new dimple.chart(svg, data);
    myChart.setMargins("60px", "10px", "10px", "75px");
    var x = myChart.addCategoryAxis("x", "Month");
    x.addOrderRule("Date");
    var y = myChart.addMeasureAxis("y", "Sales Value");
    y.showGridlines = true;
    y.tickFormat = ',.2f';    
    myChart.addSeries(null, dimple.plot.bar);
    myChart.draw(1000);
});
帮我解决这个问题。提前谢谢

恐怕您无法在dimple.js中直接执行此操作

一种更好、更简单的方法是在每次提交表单并再次呈现酒窝图时创建和过滤数据集。几天前,我曾参与过一个类似的项目,在那里我必须根据用户设置的范围过滤我的酒窝图

您可以将文件的内容放入二维数组中,表示文件的行和列,而不是直接将.tsv文件作为数据。我使用java完成了这项工作,然后将这个数组传递给我的JavaScript代码

假设
xydata[][]
是我们的数组,“月”列存储在行
xydata[0][i]
中,“销售价值”列存储在行
xydata[1][i]

现在,每次提交表单时,都需要创建数据集,并根据需要进行过滤。代码如下:

function createChart(range)
{
xydata=[["Jan","Feb","Mar","Apr","May"],[10,20,30,40,50]];  //Created data example

var data=[]; //Array for filtered data

var range="Apr";   //Passed from the form

for(var i=0;i<xydata[0].length;i++){
  if(range<xydata[0][i])  //Filtering Condition.. Additional logic required here
data.push({
  Months:xydata[0][i],
  SalesValue:xydata[1][i]
}
         );
}

//data now contains the filtered data (before April in this case)

myChart = new dimple.chart(svg, data);

//and then draw the chart accordingly.
};
函数createChart(范围)
{
xydata=[“一月”、“二月”、“三月”、“四月”、“五月”],[10,20,30,40,50];//创建的数据示例
var data=[];//筛选数据的数组
var range=“Apr”;//从表单传递

对于(VarI=0;我面临着完全相同的问题。除了按照Parth的建议重新绘制图表之外,你有没有找到解决方案?