如何为Flot图创建动态数据系列?

时间:2012-02-24 06:57:12

标签: javascript graph flot series

我需要为flot graph创建动态数据集。我的x轴是时间,y轴是计数。

我需要显示5个不同颜色的图形。我将如何为Flot提供数据系列。

1 个答案:

答案 0 :(得分:2)

以下是使用时间作为X轴的5种不同颜色的5个图的示例。单击链接可更新数据系列和图表。

<script language="javascript" type="text/javascript" src="../jquery.js"></script>
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script>

<div id="graph_1" style="width:300px;height:100px;"></div>
<div id="graph_2" style="width:300px;height:100px;"></div>
<div id="graph_3" style="width:300px;height:100px;"></div>
<div id="graph_4" style="width:300px;height:100px;"></div>
<div id="graph_5" style="width:300px;height:100px;"></div>

<script>
// Initialize the data to be graphed
var data = new Array();
data[0] = new Array();
data[1] = new Array();
data[2] = new Array();
data[3] = new Array();
data[4] = new Array();

var ticks = new Array();

draw_graphs();

// Draw the graphs
function draw_graphs() {
    $.plot($("#graph_1"), [{data:data[0],color:1}],{ xaxis: { mode: "time" }});
    $.plot($("#graph_2"), [{data:data[1],color:2}],{ xaxis: { mode: "time" }});
    $.plot($("#graph_3"), [{data:data[2],color:3}],{ xaxis: { mode: "time" }});
    $.plot($("#graph_4"), [{data:data[3],color:4}],{ xaxis: { mode: "time" }});
    $.plot($("#graph_5"), [{data:data[4],color:5}],{ xaxis: { mode: "time" }});
}

// Update the data
function change_data(n) {
    d = new Date();
    data[n].push([d.getTime(),n]);
    draw_graphs();
}

</script>

<a href="#" onclick="change_data(0)">Update 1</a><br>
<a href="#" onclick="change_data(1)">Update 2</a><br>
<a href="#" onclick="change_data(2)">Update 3</a><br>
<a href="#" onclick="change_data(3)">Update 4</a><br>
<a href="#" onclick="change_data(4)">Update 5</a><br>

您还可以使用Updating Graphs with AJAXTime

上的flot示例页面