DEVOPS
DEVOPS

Reputation: 18790

How to create dynamic data series for Flot graph?

I need to create a dynamic dataseries for flot graph. My x-axis is time and y axis is count.

I need to show 5 graphs with different colors. How I will give data series for Flot.

Upvotes: 0

Views: 6408

Answers (1)

wwv
wwv

Reputation: 911

Here's an example of 5 graphs with 5 different colors using time as the X axis. Clicking on the links updates the data series and the graphs.

<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>

You can also use the flot example pages on Updating Graphs with AJAX and Time

Upvotes: 2

Related Questions