Different chart styles: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
JSXGraph supports chart plotting. Here are some examples of possible chart types. | JSXGraph supports chart plotting. Here are some examples of possible chart types. | ||
<html> | <html> | ||
<p> | <p> | ||
<input type="button" value="Line chart" onClick="lineChart()"> | <input type="button" value="Line chart" onClick="lineChart()"> | ||
Line 12: | Line 9: | ||
<input type="button" value="Horizontal bars" onClick="horizontalBarChart()"> | <input type="button" value="Horizontal bars" onClick="horizontalBarChart()"> | ||
<input type="button" value="Dynamic bars" onClick="dynamicBarChart()"> | <input type="button" value="Dynamic bars" onClick="dynamicBarChart()"> | ||
<input type="button" value=" | <input type="button" value="Regression line" onClick="fitChart(1)"> | ||
<input type="button" value="Regression parabola" onClick="fitChart(2)"> | |||
</p> | </p> | ||
< | </html> | ||
<jsxgraph width="600" height="600" box="jxgbox"> | |||
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
var dataArr = [4,1,3,2,5,7,1.5,2]; | |||
// Line chart | |||
function lineChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'line',strokeWidth:4,strokeColor:'#0000ff'}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Line chart with cubic splines | |||
function splineChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'spline',strokeWidth:4,strokeColor:'#0000ff'}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Bar chart | |||
function barChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'bar',width:0.6,labels:dataArr}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Single chart with multiple styles | |||
function multiStyleChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'bar,line,point',width:0.8,size:4,labels:dataArr}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Two bar charts | |||
function twoBarCharts() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', [[1,3,5,7],[4,-1,3,2]], {chartStyle:'bar',width:0.8}); | |||
var b = board.create('chart', [[2,4,6,8],[3,1,2,5]], {chartStyle:'bar',fillColor:'#C3D9FF',width:0.8}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Bar chart with horizontal bars | |||
function horizontalBarChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'bar',labels:dataArr,width:0.8,dir:'horizontal'}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Single chart with dynamic entries | |||
function dynamicBarChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var s = board.create('slider', [[5,-1],[8,-1], [1,1,2]], {name:'S'}); | |||
var f = [function(){return parseFloat((s.Value()*4).toFixed(2));}, | |||
function(){return parseFloat((s.Value()*(-1)).toFixed(2));}, | |||
function(){return parseFloat((s.Value()*3).toFixed(2));}, | |||
function(){return parseFloat((s.Value()*2).toFixed(2));}]; | |||
var chart = board.create('chart', [f], {chartStyle:'bar',width:0.8,labels:f}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Regression curve | |||
function fitChart(deg) { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, | |||
{chartStyle:'bar,fit', degree:deg, colorArray:['#B02B2C','#3F4C6B','#C79810','#D15600'], dash:2} | |||
); | |||
board.unsuspendUpdate(); | |||
} | |||
lineChart(); | |||
</jsxgraph> | |||
==The Code== | |||
<source lang="javascript"> | <source lang="javascript"> | ||
var board = JXG.JSXGraph.initBoard('jxgbox', { | var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | ||
var dataArr = [4,1,3,2,5,7,1.5,2]; | |||
// Line chart | |||
function lineChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'line',strokeWidth:4,strokeColor:'#0000ff'}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Line chart with cubic splines | |||
function splineChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'spline',strokeWidth:4,strokeColor:'#0000ff'}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Bar chart | |||
function barChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'bar',width:0.6,labels:dataArr}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Single chart with multiple styles | |||
function multiStyleChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'bar,line,point',width:0.8,size:4,labels:dataArr}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Two bar charts | |||
function twoBarCharts() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', [[1,3,5,7],[4,-1,3,2]], {chartStyle:'bar',width:0.8}); | |||
var b = board.create('chart', [[2,4,6,8],[3,1,2,5]], {chartStyle:'bar',fillColor:'#C3D9FF',width:0.8}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Bar chart with horizontal bars | |||
function horizontalBarChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, {chartStyle:'bar',labels:dataArr,width:0.8,dir:'horizontal'}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Single chart with dynamic entries | |||
function dynamicBarChart() { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var s = board.create('slider', [[5,-1],[8,-1], [1,1,2]], {name:'S'}); | |||
var f = [function(){return parseFloat((s.Value()*4).toFixed(2));}, | |||
function(){return parseFloat((s.Value()*(-1)).toFixed(2));}, | |||
function(){return parseFloat((s.Value()*3).toFixed(2));}, | |||
function(){return parseFloat((s.Value()*2).toFixed(2));}]; | |||
var chart = board.create('chart', [f], {chartStyle:'bar',width:0.8,labels:f}); | |||
board.unsuspendUpdate(); | |||
}; | |||
// Regression curve | |||
function fitChart(deg) { | |||
JXG.JSXGraph.freeBoard(board); | |||
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true}); | |||
board.suspendUpdate(); | |||
var a = board.create('chart', dataArr, | |||
{chartStyle:'bar,fit', degree:deg, colorArray:['#B02B2C','#3F4C6B','#C79810','#D15600'], dash:2} | |||
); | |||
board.unsuspendUpdate(); | |||
} | |||
lineChart(); | |||
</source> | </source> | ||
[[Category:Examples]] | [[Category:Examples]] | ||
[[Category:Charts]] |
Latest revision as of 14:54, 20 February 2013
JSXGraph supports chart plotting. Here are some examples of possible chart types.
The Code
var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
var dataArr = [4,1,3,2,5,7,1.5,2];
// Line chart
function lineChart() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', dataArr, {chartStyle:'line',strokeWidth:4,strokeColor:'#0000ff'});
board.unsuspendUpdate();
};
// Line chart with cubic splines
function splineChart() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', dataArr, {chartStyle:'spline',strokeWidth:4,strokeColor:'#0000ff'});
board.unsuspendUpdate();
};
// Bar chart
function barChart() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', dataArr, {chartStyle:'bar',width:0.6,labels:dataArr});
board.unsuspendUpdate();
};
// Single chart with multiple styles
function multiStyleChart() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', dataArr, {chartStyle:'bar,line,point',width:0.8,size:4,labels:dataArr});
board.unsuspendUpdate();
};
// Two bar charts
function twoBarCharts() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', [[1,3,5,7],[4,-1,3,2]], {chartStyle:'bar',width:0.8});
var b = board.create('chart', [[2,4,6,8],[3,1,2,5]], {chartStyle:'bar',fillColor:'#C3D9FF',width:0.8});
board.unsuspendUpdate();
};
// Bar chart with horizontal bars
function horizontalBarChart() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', dataArr, {chartStyle:'bar',labels:dataArr,width:0.8,dir:'horizontal'});
board.unsuspendUpdate();
};
// Single chart with dynamic entries
function dynamicBarChart() {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var s = board.create('slider', [[5,-1],[8,-1], [1,1,2]], {name:'S'});
var f = [function(){return parseFloat((s.Value()*4).toFixed(2));},
function(){return parseFloat((s.Value()*(-1)).toFixed(2));},
function(){return parseFloat((s.Value()*3).toFixed(2));},
function(){return parseFloat((s.Value()*2).toFixed(2));}];
var chart = board.create('chart', [f], {chartStyle:'bar',width:0.8,labels:f});
board.unsuspendUpdate();
};
// Regression curve
function fitChart(deg) {
JXG.JSXGraph.freeBoard(board);
board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-1, 10, 11, -2], axis: true});
board.suspendUpdate();
var a = board.create('chart', dataArr,
{chartStyle:'bar,fit', degree:deg, colorArray:['#B02B2C','#3F4C6B','#C79810','#D15600'], dash:2}
);
board.unsuspendUpdate();
}
lineChart();