菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Plotly.js

Plotly.js 是一个包含多种图表类型的图表库。

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

Plotly.js 是免费开源的,在 MIT 许可下发布。安装和使用均免费。您可以通过 Github 查看源代码,报告问题并贡献代码。

柱状图

源代码

const xArray = ["意大利","法国","西班牙","美国","阿根廷"];
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:"全球葡萄酒产量"};

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

自己动手试一试 »


水平条形图

源代码

const xArray = [55, 49, 44, 24, 15];
const yArray = ["意大利","法国","西班牙","美国","阿根廷"];

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

const layout = {title:"全球葡萄酒产量"};

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

自己动手试一试 »


饼图

要显示饼图而不是条形图,请将 x 和 y 更改为标签和值,并将 type 改为 "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);
自己动手试一试 »

要显示散点图,请将模式更改为 markers

// 使用 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: "平方米"},
  yaxis: {range: [5, 16], title: "百万美元"},
  title: "房价与面积"
};

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: "平方米"},
  yaxis: {range: [5, 16], title: "百万美元"},
  title: "房价与面积"
};

// 使用 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: "绘制气泡"
};

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

自己动手试一试 »


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持