Home › Forums › Chart Support › Charts on the same page › Reply To: Charts on the same page
It is possible. You have to change the “window.onload = function ()” code to a named function like “function renderMyChart(theDIVid)” so that you can pass the name of each chart’s div ID into the chart rendering function. Then, you would call the function 3 times from within the page like this:
renderMyChart(“chartContainer1”);
renderMyChart(“chartContainer2”);
renderMyChart(“chartContainer3″);
Assuming you also have different data that you want to use for each chart, you would remove the code
dataPoints: [
{ x: 10, y: 10 },
{ x: 20, y: 15 },
{ x: 30, y: 25 },
{ x: 40, y: 30 },
{ x: 50, y: 28 }
]
}
]
from the new named function and create a named variable containing the data, like this:
var dataValues1=”dataPoints: [ { x: 10, y: 10 }, { x: 20, y: 15 }, { x: 30, y: 25 }, { x: 40, y: 30 }, { x: 50, y: 28 }, ] } ]”
Create a unique variable for each of the charts. Now you have a unique name and data points for each chart, so let’s update the function to handle two parameters. Rename the function to “function renderMyChart(theDIVid, myData)”.
Now the function calls become:
renderMyChart(“chartContainer1”, “dataValues1”);
renderMyChart(“chartContainer2”, “dataValues2”);
renderMyChart(“chartContainer3”, “dataValues3”);
and your function should look something like this:
function renderMyChart(theDIVid, myData) {
var chart = new CanvasJS.Chart(theDIVid, {
data: [
{
type: “column”,
eval(myData);
}
]
});
chart.render();
}