2014-03-04 43 views
0

我使用jqPlot从.csv文件中绘制折线图。 我需要获取图的xmax和ymax值并将它们用于进一步的处理。如何将jqPlot值写入变量?

我如何得到这个或任何其他值,并写在我自己的变量?

编辑

比方说,这是我的阴谋: enter image description here

我需要的不是从阵列(这里1380)最大的x值。我需要从剧情中获得最大值(这里是2000年)。为了进一步处理,我想在图中添加矩形,参见第二张图:并将它们的高度计算为x值而不是其像素值。

enter image description here

所以我需要访问jqplot变量,而不是数组变量,我给到jqplot。

+1

u能张贴图表的jsfiddle.net演示,并指明要中检索哪些值? –

+0

您可能希望添加一些代码,以便在提供赏金之前处理您的csv文件并填充图表。你的问题可能没有得到足够的重视,因为你没有给任何人添加足够的细节来帮助你。 –

+0

一般来说,你有一个值的数组,所以只需循环遍历数组,跟踪你找到的最大值。 –

回答

2

所以,在某些时候,你有,你传递给jqPlot绘制图形值的数组,例如:

var myData = [[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]; 

如果你想找到的,你只需要最大x和y值循环访问数组,记录迄今为止发现的最大值。

var maxX, maxY; 
for (var i=0; i < myData.length; i++) { 
    if (myData[i][0] > maxX || !maxX) { 
     maxX = myData[i][0]; 
    } 
    if (myData[i][1] > maxY || !maxY) { 
     maxY = myData[i][1]; 
    } 
} 

这里有一个简单的演示:http://jsfiddle.net/LAbvj/

编辑:好的,所以我觉得现在什么你要求的是每个轴的最大值。在这种情况下,这很简单:

var plot1 = $.jqplot('chart1', [ 
    [3, 7, 19, 1, 4, 6, 8, 2, 5] 
]); 
console.log(plot1.axes.xaxis.max); 
console.log(plot1.axes.yaxis.max); 

观看演示:http://jsfiddle.net/KJTRF/

+0

我很感谢您的回复。请查看我编辑的问题以获取更多信息。 – gco

+1

@gco:好吧,我*想*你要求的是每个轴上的最大值(不是数据的最大值)。在这种情况下,请参阅我的编辑。 –

+0

太棒了!谢谢。赏金可以并将在20小时内颁发;) – gco