2016-11-24 69 views
-1

所以我有一个从csv文件调用数据的图表。我基本上需要把x和y放在同一张图表中,这在两张单独的图表中是这样的。flot plot中的多个数据源

$.ajax({ 
      'url' : 'csvfile.csv', 
      'method' : 'get', 
      'success' : function(response){ 
       var response = Papa.parse(response,{ 
        header: true 
       }); 

       for(var i in response.data){ 
        chartData.x.push([step * i, response.data[i]['rot_x']]); 
        chartData.y.push([step * i, response.data[i]['rot_y']]); 
        chartData.z.push([step * i, response.data[i]['rot_z']]); 
       } 


       var plotX = $.plot($("#x-chart"),[ { 
        data: chartData.x, 
        label: 'ROT-X' 
       }],plotConfig); 

       var plotY = $.plot($("#y-chart"),[ { 
        data: chartData.y, 
        label: 'ROT-Y' 
       }],plotConfig); 

任何帮助,在这里非常感谢我切实想这种类型的解决方案,其中x和y是相同的图表中..

var plotX = $.plot($("#x-chart"),[ { 
        data: {'chartData.x','chartData.y'}, 
        label: 'ROT-X' 
       }],plotConfig); 

这并不目前的工作,但至少你将会看到问题

+2

你的JS有一个语法错误('plotX'声明后没有关闭单引号)。此外,目前尚不清楚您面临的问题的实质。 – Terry

+0

刚刚更新了代码以准确显示我想要实现的内容,我希望x和y的chartdata在被调用时位于同一图表中,而不是为每个数据集分别设置图表 – greggycoding

+0

#x-chart同时使用rot_x和rot_y甚至更简单,更具体我猜 – greggycoding

回答

0

假设您使用jQuery的flot插件,那么有很好的docs会帮助你。我相信你的问题是plotData数组中的对象的数据属性需要是数组 - 在你的代码中你正在使用一个对象。

你可以有一个图表与两个数据源:

var plotData = [ 
    { 
     label: "ROT-X", 
     data: chartData.x 
    }, 
    { 
     label: "ROT-Y", 
     data: chartData.y 
    } 
]; 

var plotX = $.plot($("#x-chart"), plotData, plotConfig); 

或合并的阵列,并有一个数据源。

var plotData = [ 
    { 
     label: "ROT-X&Y", 
     data: chartData.x.concat(chartData.y) 
    } 
]; 

var plotX = $.plot($("#x-chart"), plotData, plotConfig); 
+0

是的,我确实使用flot插件好抓先生 – greggycoding

+0

一个有两个数据源的图表对我来说更有意义,现在要尝试一个现在完成工作的 – greggycoding

+0

非常感谢你! – greggycoding