导航
×
   ❮   
HTML CSS JavaScript PHP Go Sass W3C Colors ECMS

JS 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JS 高级教程

JS 对象 JS 函数 JS 类 JS 迭代 JS Promises JS 模块 JS HTML DOM JS Windows JS Web API JS AJAX JS JSON JS jQuery JS 图形

JS 实例

JS 实例 JS HTML DOM JS HTML 输入 JS HTML 对象 JS HTML 事件 JS Browser JS 测验

Plotly.js


Plotly.js 是一个图表库,包含 40 多种图表类型:

  • 水平条形图和垂直条形图
  • 饼图和环形图
  • 折线图
  • 散点图和气泡图
  • 方程图
  • 3D 图表
  • 统计图
  • SVG 地图
  • ...

Plotly.js 是一个免费开源项目,采用 MIT 许可证。安装和使用都是免费的。您可以通过 GitHub 查看源代码、报告问题并做出贡献。

柱状图

源代码

const xArray = ["Italy","France","Spain","USA","Argentina"];
const yArray = [55, 49, 44, 24, 15];

const data = [{
  x: xArray,
  y: yArray,
  type: "bar",
  orientation:"v",
  marker: {color:"rgba(0,0,255)"}
}];

const layout = {title:"World Wide Wine Production"};

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

亲自试一试 »


水平柱状图

源代码

const xArray = [55, 49, 44, 24, 15];
const yArray = ["Italy","France","Spain","USA","Argentina"];

const data = [{
  x: xArray,
  y: yArray,
  type: "bar",
  orientation: "h",
  marker: {color:"rgba(255,0,0,0.6)"}
}];

const layout = {title:"World Wide Wine Production"};

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

亲自试一试 »


饼图

要显示饼图而不是柱状图,请将 x 和 y 分别更改为标签和值,并将类型更改为"pie":

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

亲自试一试 »


甜甜圈图

要显示甜甜圈而不是馅饼,请添加一个洞:

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

亲自试一试 »


绘制方程

源代码

let exp = "Math.sin(x)";

// 生成值
const xValues = [];
const yValues = [];
for (let x = 0; x<= 10; x += 0.1) {
  xValues.push(x);
  yValues.push(eval(exp));
}

// 使用 Plotly 显示
const data = [{x:xValues, y:yValues, mode:"lines"}];
const layout = {title: "y = " + exp};
Plotly.newPlot("myPlot", data, layout);
亲自试一试 »

要显示散点图,请将模式更改为标记:

// 使用 Plotly 显示
const data = [{x:xValues, y:yValues, mode:"markers"}];
const layout = {title: "y = " + exp};
Plotly.newPlot("myPlot", data, layout);
亲自试一试 »

散点图

源代码

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];

// 定义数据
const data = [{
  x: xArray,
  y: yArray,
  mode:"markers",
  type:"scatter"
}];

// 定义布局
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);

亲自试一试 »


折线图

源代码

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];

// 定义数据
const data = [{
  x: xArray,
  y: yArray,
  mode: "lines",
  type: "scatter"
}];

// 定义布局
const layout = {
  xaxis: {range: [40, 160], title: "Square Meters"},
  yaxis: {range: [5, 16], title: "Price in Millions"},
  title: "House Prices vs Size"
};

// 使用 Plotly 显示
Plotly.newPlot("myPlot", data, layout);

亲自试一试 »


气泡图

气泡图是一种散点图,其标记的颜色、大小和符号均可变化。

它是一种三维图表,只有两个轴(x 轴和 y 轴),气泡的大小代表第三个维度。

源代码

const xArray = [1,2,3,4];
const yArray = [10,20,30,40];

const trace1 = {
  x: xArray,
  y: yArray,
  mode: 'markers',
  marker: {
    color: ['red', 'green', 'blue', 'orange'],
    size: [20, 30, 40, 50]
  }
};

const data = [trace1];

const layout = {
  title: "Plotting Bubbles"
};

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

亲自试一试 »


线性图

源代码

let exp = "x + 17";

// 生成值
const xValues = [];
const yValues = [];
for (let x = 0; x<= 10; x += 1) {
  yValues.push(eval(exp));
  xValues.push(x);
}

// 定义数据
const data = [{
  x: xValues,
  y: yValues,
  mode: "lines"
}];

// 定义布局
const layout = {title: "y = " + exp};

// 使用 Plotly 显示
Plotly.newPlot("myPlot", data, layout);

亲自试一试 »


多行

源代码

let exp1 = "x";
let exp2 = "1.5*x";
let exp3 = "1.5*x + 7";

// 生成值
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));
}

// 定义数据
const data = [
  {x: x1Values, y: y1Values, mode:"lines"},
  {x: x2Values, y: y2Values, mode:"lines"},
  {x: x3Values, y: y3Values, mode:"lines"}
];

// 定义布局
const layout = {title: "[y=" + exp1 + "] [y=" + exp2 + "] [y=" + exp3 + "]"};

// 使用 Plotly 显示
Plotly.newPlot("myPlot", data, layout);

亲自试一试 »


Copyright ©2020-2026 freew3c.com All Rights Reserved 提供的内容仅用于学习和测试,不保证内容的正确性。