我剛開始編程與Highcharts,如果有可能,我們將根據此表中的任何類型的折線圖的奇蹟:http://www2.nve.no/h/hd/plotreal/Q/0027.00025.000/knekkpunkt.html我可以從此表創建一個Javascript圖表嗎?
表更新每半小時,我想這會相應地更新線路圖形程序。
我的問題是,我不知道這是可能的。表數據是遠程的,在我無權訪問的服務器上。儘管如此,這些數據是公開和公開的。
將不勝感激的一些幫助!
我剛開始編程與Highcharts,如果有可能,我們將根據此表中的任何類型的折線圖的奇蹟:http://www2.nve.no/h/hd/plotreal/Q/0027.00025.000/knekkpunkt.html我可以從此表創建一個Javascript圖表嗎?
表更新每半小時,我想這會相應地更新線路圖形程序。
我的問題是,我不知道這是可能的。表數據是遠程的,在我無權訪問的服務器上。儘管如此,這些數據是公開和公開的。
將不勝感激的一些幫助!
你想要簽出的一個偉大的開源項目是D3.js。這是一個功能豐富的庫,用於從原始數據生成複雜的可視化(使用SVG元素和DOM)。下面是我用你的數據的一個片段,是由D3供電做了一個演示:
//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。
好吧,這是不幸的方式在我的編碼技能。但是,我對如何向前邁進有了一個想法,也許可以瞭解我需要的工作。 –
如果您不熟悉語法(庫大量使用方法鏈,作爲慣例),D3代碼有點奇怪,並且需要一些關於SVG模型的知識。如果您好奇,我可以詳細瞭解上述任何代碼。不過,如果你認爲面臨類似問題的其他程序員會覺得這很有幫助,請接受它作爲答案! –
這將是可能的,但沒有樂趣。這些數據都是一個大的預先格式化的字符串。訪問這些值的表格將使您的工作更輕鬆。否則,您需要考慮編寫一些RegEx來解析該怪物節點的文本。
我明白了,那麼這對我來說不是一項任務。很高興爲您提供幫助! –
我的榮幸。 :) – Sneagan
問題是此數據每小時更新一次,並由除我之外的其他人託管。 –
更新頻率不是問題。無論您爲解析此數據而創建的內容都可以在每次加載頁面時運行,並始終保持最新狀態。該頁面是數據的*源*,還是您正在顯示它的頁面? – jlbriggs
感謝所有幫助,這讓我意識到,我的技術不加起來才能使其發揮作用。
你能更新你的鏈接,這似乎不工作? –
它應該工作,但我上傳數據在我的服務器上:http://fluefiske.net/dok/graf.html –