2014-02-10 46 views
0

我剛開始編程與Highcharts,如果有可能,我們將根據此表中的任何類型的折線圖的奇蹟:http://www2.nve.no/h/hd/plotreal/Q/0027.00025.000/knekkpunkt.html我可以從此表創建一個Javascript圖表嗎?

表更新每半小時,我想這會相應地更新線路圖形程序。

我的問題是,我不知道這是可能的。表數據是遠程的,在我無權訪問的服務器上。儘管如此,這些數據是公開和公開的。

將不勝感激的一些幫助!

+0

你能更新你的鏈接,這似乎不工作? –

+0

它應該工作,但我上傳數據在我的服務器上:http://fluefiske.net/dok/graf.html –

回答

0

你想要簽出的一個偉大的開源項目是D3.js。這是一個功能豐富的庫,用於從原始數據生成複雜的可視化(使用SVG元素和DOM)。下面是我用你的數據的一個片段,是由D3供電做了一個演示:

http://jsfiddle.net/2s6Y3/

//Define two functions that will 'map' x- and y-values into their respective axis domain 
var x_scale_fn = d3.scale.linear().domain([Math.min.apply(null, times), Math.max.apply(null, times)]).range([0, width]); 
var y_scale_fn = d3.scale.linear().domain([Math.max.apply(null, levels), Math.min.apply(null, levels)]).range([0, height]); 

//Create a 'line' object that can read our records and turn them into x-y coordinates 
var line = d3.svg.line() 
.x_scale_fn(function(d, i) { return x(times[i]); }) 
.y_scale_fn(function(d, i) { return y(levels[i]); }); 

//Create a new SVG element (our chart) and give it some basic attributes 
var graph = d3.select(".chart").append("svg:svg") 
    .attr("width", width + margins[1] + margins[3]) 
    .attr("height", height + margins[0] + margins[2]) 
    .append("svg:g") 
    .attr("transform", "translate(" + margins[3] + ", " + margins[0] + ")"); 

//Create our chart axes 
var x_axis = d3.svg.axis().scale(x), 
    y_axis = d3.svg.axis().scale(y).orient("left"); 

//Render the x-axis 
graph.append("svg:g") 
    .attr("transform", "translate(0," + height + ")") 
    .attr("class", "x axis") 
    .call(x_axis) 
    .selectAll("text") 
.attr("transform", function(d) { return "rotate(45deg)"; }); 

//Render the y-axs 
graph.append("svg:g") 
    .attr("transform", "translate(-25,0)") 
    .attr("class", "y axis") 
    .call(y_axis); 

//Render our data (line) onto the chart 
graph.append("svg:path").attr("d", line(data)); 

如果你想創建一個項目,提供了一個持久的,最多最新的可視化水數據,你需要設置一個刮板來定期從頁面讀取數據並將其格式化爲D3(即JSON)。這可以用許多不同的工具完成,但是一個建議是使用Python和urllib2

+0

好吧,這是不幸的方式在我的編碼技能。但是,我對如何向前邁進有了一個想法,也許可以瞭解我需要的工作。 –

+0

如果您不熟悉語法(庫大量使用方法鏈,作爲慣例),D3代碼有點奇怪,並且需要一些關於SVG模型的知識。如果您好奇,我可以詳細瞭解上述任何代碼。不過,如果你認爲面臨類似問題的其他程序員會覺得這很有幫助,請接受它作爲答案! –

0

這將是可能的,但沒有樂趣。這些數據都是一個大的預先格式化的字符串。訪問這些值的表格將使您的工作更輕鬆。否則,您需要考慮編寫一些RegEx來解析該怪物節點的文本。

+0

我明白了,那麼這對我來說不是一項任務。很高興爲您提供幫助! –

+0

我的榮幸。 :) – Sneagan

0

您的鏈接似乎不工作。

如果你是在談論一個HTML表格,看看演示在這裏:

+0

問題是此數據每小時更新一次,並由除我之外的其他人託管。 –

+0

更新頻率不是問題。無論您爲解析此數據而創建的內容都可以在每次加載頁面時運行,並始終保持最新狀態。該頁面是數據的*源*,還是您正在顯示它的頁面? – jlbriggs

0

感謝所有幫助,這讓我意識到,我的技術不加起來才能使其發揮作用。

相關問題