bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

Learn/AI/JS Graphics
AI•JS Graphics

Plotly.js

Concept visual

Plotly.js

Graph traversalgraph
ABCDE
current
queued
1
4

Start from A

Plotly.js is a charting library that comes with over 40 chart types, 3D charts, statistical graphs, and SVG maps.

Scatter Plots

Source Code const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,10,11,14,14,15];
// Define Data const data = [{
x: xArray, y: yArray, mode:"markers", type:"scatter"
}];
// Define Layout const layout = {
xaxis: {range: [40, 160], title: "Square Meters"}, yaxis: {range: [5, 16], title: "Price in Millions"}, title: "House Prices vs. Size"
};
Plotly.newPlot("myPlot", data, layout);

Line Graphs

Source Code const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,10,11,14,14,15];
// Define Data const data = [{
x: xArray, y: yArray, mode: "lines", type: "scatter"
}];
// Define Layout const layout = {
xaxis: {range: [40, 160], title: "Square Meters"}, yaxis: {range: [5, 16], title: "Price in Millions"}, title: "House Prices vs Size"
};

// Display using Plotly

Plotly.newPlot("myPlot", data, layout);

Linear Graphs

Source Code let exp = "x + 17";
// Generate values const xValues = [];
const yValues = [];
for (let x = 0; x <= 10; x += 1) {
yValues.push(eval(exp));
xValues.push(x);
}
// Define Data const data = [{
x: xValues, y: yValues, mode: "lines"
}];
// Define Layout const layout = {title: "y = " + exp};

// Display using Plotly

Plotly.newPlot("myPlot", data, layout);

Multiple Lines

Source Code let exp1 = "x";
let exp2 = "1.5*x";
let exp3 = "1.5*x + 7";
// Generate values const x1Values = [];
const x2Values = [];
const x3Values = [];
const y1Values = [];
const y2Values = [];
const y3Values = [];
for (let 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 const data = [
{x: x1Values, y: y1Values, mode:"lines"},
{x: x2Values, y: y2Values, mode:"lines"},
{x: x3Values, y: y3Values, mode:"lines"}
];
// Define Layout const layout = {title: "[y=" + exp1 + "]  [y=" + exp2 + "]  [y=" + exp3 + "]"};

// Display using Plotly

Plotly.newPlot("myPlot", data, layout);

Bar Charts

Source Code const xArray = ["Italy","France","Spain","USA","Argentina"];
const yArray = [55, 49, 44, 24, 15];
const data = [{
x: xArray, y: yArray, type: "bar"
}];
const layout = {title:"World Wide Wine Production"};
Plotly.newPlot("myPlot", data, layout);

Horizontal Bar Charts

Source Code const xArray = [55, 49, 44, 24, 15];
const yArray = ["Italy","France","Spain","USA","Argentina"];
const data = [{
x: xArray, y: yArray, type: "bar", orientation: "h"
}];
const layout = {title:"World Wide Wine Production"};
Plotly.newPlot("myPlot", data, layout);

Pie Charts

To display a pie instead of bars, change x and y to labels and values, and change the type to "pie":

const data = [{
labels: xArray, values: yArray, type: "pie"
}];

Donut Charts

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

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

Plotting Equations

Source Code let exp = "Math.sin(x)";
// Generate values const xValues = [];
const yValues = [];
for (let x = 0; x <= 10; x += 0.1) {
yValues.push(eval(exp));
xValues.push(x);
}
// Display using Plotly const data = [{x:xValues, y:yValues, mode:"lines"}];
const layout = {title: "y = " + exp};
Plotly.newPlot("myPlot", data, layout);

Previous

HTML Canvas

Next

Chart.js