Plotly.js
Plotly.js 是一个图表库,带有 40 多种图表类型、3D 图表、统计图和 SVG 地图。
散点图
源代码
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]; // 定义数据 var data = [{ x: xArray, y: yArray, mode:"markers", type:"scatter" }]; // 定义布局 var layout = { xaxis: {range: [40, 160], title: "平方米"}, yaxis: {range: [5, 16], title: "价格(百万元)"}, title: "房价 vs. 面积" }; Plotly.newPlot("myPlot", data, layout);
折线图
源代码
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]; // 定义数据 var data = [{ x: xArray, y: yArray, mode: "lines", type: "scatter" }]; // 定义布局 var layout = { xaxis: {range: [40, 160], title: "平方米"}, yaxis: {range: [5, 16], title: "价格(百万元)"}, title: "房价 vs. 面积" }; // 使用 Plotly 来显示 Plotly.newPlot("myPlot", data, layout);
线性图
源代码
var exp = "x + 17"; // 生成值 var xValues = []; var yValues = []; for (var x = 0; x <= 10; x += 1) { yValues.push(eval(exp)); xValues.push(x); } // 定义数据 var data = [{ x: xValues, y: yValues, mode: "lines" }]; // 定义布局 var layout = {title: "y = " + exp}; // 使用 Plotly 来显示 Plotly.newPlot("myPlot", data, layout);
多行
源代码
var exp1 = "x"; var exp2 = "1.5*x"; var exp3 = "1.5*x + 7"; // 生成值 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)); } // 定义数据 var data = [ {x: x1Values, y: y1Values, mode:"lines"}, {x: x2Values, y: y2Values, mode:"lines"}, {x: x3Values, y: y3Values, mode:"lines"} ]; // 定义布局 var layout = {title: "[y=" + exp1 + "] [y=" + exp2 + "] [y=" + exp3 + "]"}; // 使用 Plotly 来显示 Plotly.newPlot("myPlot", data, layout);
条形图
源代码
var xArray = ["意大利","法国","西班牙","美国","阿根廷"]; var yArray = [55, 49, 44, 24, 15]; var data = [{ x: xArray, y: yArray, type: "bar" }]; var layout = {title:"全球葡萄酒生产"}; Plotly.newPlot("myPlot", data, layout);
水平条形图
源代码
var xArray = [55, 49, 44, 24, 15]; var yArray = ["意大利","法国","西班牙","美国","阿根廷"]; var data = [{ x: xArray, y: yArray, type: "bar", orientation: "h" }]; var layout = {title:"全球葡萄酒生产"}; Plotly.newPlot("myPlot", data, layout);
饼图
如需显示饼图而不是条形图,请将 x 和 y 更改为 labels 和 values ,并将 type 更改为 "pie":
var data = [{ labels: xArray, values: yArray, type: "pie" }];
甜甜圈图
如需显示甜甜圈而不是饼图,请添加一个 hole:
var data = [{ labels: xArray, values: yArray, hole: .4, type: "pie" }];
绘制方程
源代码
var exp = "Math.sin(x)"; // 生成值 var xValues = []; var yValues = []; for (var x = 0; x <= 10; x += 0.1) { yValues.push(eval(exp)); xValues.push(x); } // 使用 Plotly 来显示 var data = [{x:xValues, y:yValues, mode:"lines"}]; var layout = {title: "y = " + exp}; Plotly.newPlot("myPlot", data, layout);