Plotly.js

Plotly.js is a chart 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 of yuan)"},
  title: "House Price vs. Area"
};
Plotly.newPlot("myPlot", data, layout);

Try It Yourself

Line Chart

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 of yuan)"},
  title: "House Price vs. Area"
};
// Display using Plotly
Plotly.newPlot("myPlot", data, layout);

Try It Yourself

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};
// Display using Plotly
Plotly.newPlot("myPlot", data, layout);

Try It Yourself

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 + "]"};
// Display using Plotly
Plotly.newPlot("myPlot", data, layout);

Try It Yourself

Bar Chart

Source Code

var xArray = ["Italy","France","Spain","United States","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);

Try It Yourself

Horizontal Bar Chart

Source Code

var xArray = [55, 49, 44, 24, 15];
var yArray = ["Italy","France","Spain","United States","Argentina"];
var data = [{
  x: xArray,
  y: yArray,
  type: "bar",
  orientation: "h"
}]
var layout = {title: "Global Wine Production"};
Plotly.newPlot("myPlot", data, layout);

Try It Yourself

Pie Chart

If you want 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"
}]

Try It Yourself

Donut Chart

To display a donut chart instead of a pie chart, add a hole:

var data = [{
  labels: xArray,
  values: yArray,
  hole: .4,
  type: "pie"
}]

Try It Yourself

Plot 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);
}
// Display using Plotly
var data = [{x:xValues, y:yValues, mode:"lines"}];
var layout = {title: "y = " + exp};
Plotly.newPlot("myPlot", data, layout);

Try It Yourself

Try It Yourself