2014-03-04 45 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