gpt4 book ai didi

javascript - 如何使用正确的值在 plotly.js 中制作堆积面积图?

转载 作者:行者123 更新时间:2023-11-30 12:07:52 25 4
gpt4 key购买 nike

有一个example堆积面积图:

var stacksDiv = document.getElementById("myDiv");
var traces = [
{x: [1,2,3], y: [2,1,4], fill: 'tozeroy'},
{x: [1,2,3], y: [1,1,2], fill: 'tonexty'},
{x: [1,2,3], y: [3,0,2], fill: 'tonexty'}
];
function stackedArea(traces) {
for(var i=1; i<traces.length; i++) {
for(var j=0; j<(Math.min(traces[i]['y'].length, traces[i-1]['y'].length)); j++) {
traces[i]['y'][j] += traces[i-1]['y'][j];
}
}
return traces;
}

Plotly.newPlot(stacksDiv, stackedArea(traces), {title: 'stacked and filled line chart'});

但是堆叠是手动完成的,所以值不正确:

enter image description here

当您将鼠标悬停在第一条垂直线上时,您会看到值 2、3 和 6。但是如果您查看源代码,正确的值是 2、1 和 3。

有没有办法用正确的值来堆叠面积图?

最佳答案

在为堆叠图表的值求和之前,原始值可以用作悬停信息的文本标签。

var stacksDiv = document.getElementById("myDiv");
var traces = [
{x: [1,2,3], y: [2,1,4], fill: 'tozeroy'},
{x: [1,2,3], y: [1,1,2], fill: 'tonexty'},
{x: [1,2,3], y: [3,0,2], fill: 'tonexty'}
];
function stackedArea(traces) {
var i, j;
for(i=0; i<traces.length; i++) {
traces[i].text = [];
traces[i].hoverinfo = 'text';
for(j=0; j<(traces[i]['y'].length); j++) {
traces[i].text.push(traces[i]['y'][j].toFixed(0));
}
}
for(i=1; i<traces.length; i++) {
for(j=0; j<(Math.min(traces[i]['y'].length, traces[i-1]['y'].length)); j++) {
traces[i]['y'][j] += traces[i-1]['y'][j];
}
}
return traces;
}

Plotly.newPlot(stacksDiv, stackedArea(traces), {title: 'stacked and filled line chart'});
<script src="https://cdn.plot.ly/plotly-1.2.1.min.js"></script>
<div id="myDiv" style="width: 480px; height: 400px;"></div>

关于javascript - 如何使用正确的值在 plotly.js 中制作堆积面积图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34657547/

25 4 0
文章推荐: ios - UIView.animate View 框架的问题
文章推荐: java - Selenium : Unable to inspect element on datepicker from chrome/firefox
文章推荐: javascript - 谷歌地图生成空白灰色
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com