Plotly.js
Plotly.js is a charting library that includes over 40 chart types, 3D charts, statistical charts, and SVG maps.
scatter plot
Source code
var xArray = [50,60,70,80,90,100,110,120,130,140,150]; var yArray = [7,8,8,9,9,9,10,11,14,14,15]; // Define data var data = [{ x: xArray, y: yArray, mode:"markers", type:"scatter" }] // Define layout var layout = { xaxis: {range: [40, 160], title: "Square Meters"}, yaxis: {range: [5, 16], title: "Price (in millions)"}, title: "House Price vs. Area" }; Plotly.newPlot("myPlot", data, layout);
line graph
Source code
var xArray = [50,60,70,80,90,100,110,120,130,140,150]; var yArray = [7,8,8,9,9,9,10,11,14,14,15]; // Define data var data = [{ x: xArray, y: yArray, mode: "lines", type: "scatter" }] // Define layout var layout = { xaxis: {range: [40, 160], title: "Square Meters"}, yaxis: {range: [5, 16], title: "Price (in millions)"}, title: "House Price vs. Area" }; // Use Plotly to display Plotly.newPlot("myPlot", data, layout);
linear graph
Source code
var exp = "x + 17"; // Generate values var xValues = []; var yValues = []; for (var x = 0; x <= 10; x += 1) { yValues.push(eval(exp)); xValues.push(x); } // Define data var data = [{ x: xValues, y: yValues, mode: "lines" }] // Define layout var layout = {title: "y = " + exp}; // Use Plotly to display Plotly.newPlot("myPlot", data, layout);
multi-line
Source code
var exp1 = "x"; var exp2 = "1.5*x"; var exp3 = "1.5*x + 7"; // Generate values var x1Values = []; var x2Values = []; var x3Values = []; var y1Values = []; var y2Values = []; var y3Values = []; for (var x = 0; x <= 10; x += 1) { x1Values.push(x); x2Values.push(x); x3Values.push(x); y1Values.push(eval(exp1)); y2Values.push(eval(exp2)); y3Values.push(eval(exp3)); } // Define data var data = [ {x: x1Values, y: y1Values, mode:"lines"}, {x: x2Values, y: y2Values, mode:"lines"}, {x: x3Values, y: y3Values, mode:"lines"} ]; // Define layout var layout = {title: "[y=" + exp1 + "] [y=" + exp2 + "] [y=" + exp3 + "]"}; // Use Plotly to display Plotly.newPlot("myPlot", data, layout);
Bar chart
Source code
var xArray = ["Italy","France","Spain","USA","Argentina"]; var yArray = [55, 49, 44, 24, 15]; var data = [{ x: xArray, y: yArray, type: "bar" }]; var layout = {title:"Global wine production"}; Plotly.newPlot("myPlot", data, layout);
Horizontal bar chart
Source code
var xArray = [55, 49, 44, 24, 15]; var yArray = ["Italy","France","Spain","USA","Argentina"]; var data = [{ x: xArray, y: yArray, type: "bar", orientation: "h" }] var layout = {title:"Global wine production"}; Plotly.newPlot("myPlot", data, layout);
Pie chart
To display a pie chart instead of a bar chart, change x and y to labels and values, and change type to "pie":
var data = [{ labels: xArray, values: yArray, type: "pie" }]
Donut chart
To display a donut instead of a pie chart, add a hole:
var data = [{ labels: xArray, values: yArray, hole: .4, type: "pie" }]
Plotting equation
Source code
var exp = "Math.sin(x)"; // Generate values var xValues = []; var yValues = []; for (var x = 0; x <= 10; x += 0.1) { yValues.push(eval(exp)); xValues.push(x); } // Use Plotly to display var data = [{x:xValues, y:yValues, mode:"lines"}]; var layout = {title: "y = " + exp}; Plotly.newPlot("myPlot", data, layout);