gpt4 book ai didi

annotations - Google图表堆积了带有不同注释的列,每一列

转载 作者:行者123 更新时间:2023-12-03 20:17:37 26 4
gpt4 key购买 nike

希望您可以在此方面为我提供帮助:

我有一个堆积列的图表,所有列都有两个要堆叠在每个列中的值。我已经成功创建了图表,但是我需要为每列的每一部分添加一个注释(我不知道它的专有名称),以指示该部分在其自己的列中所占总数的百分比。

在下面给出的示例中,我将需要设置注释,以便显示堆叠的列,并且对于第一列,应在“Good”区域中添加一个值为“60%”的注释,并为“Bad”添加另一个注释面积为“40%”,依此类推。

到目前为止,我设法添加了一个注释,该注释显示“错误”区域的百分比值,该值 float 在每一列的顶部。我需要帮助来为该列的每个区域正确定义注释,并希望将其放置在给定区域的中心。

预先感谢您的帮助。

TL; DR:我需要为每列的每一部分集中注释。

<body>
<div id="chart" style="width: 900px; height: 500px; border: 1px solid black;">
</div>
</body>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Good', 'Bad'],
[Date(2013, 11, 1), 3, 2],
[Date(2013, 11, 2), 5, 3],
[Date(2013, 11, 3), 9, 2],
[Date(2013, 11, 4), 6, 3]
]);

var view = new google.visualization.DataView(data);

view.setColumns([{
label: 'Date',
type: 'string',
calc: function (dt, row) {
var str = dt.getValue(row, 0);
return { v: str, f: str.toString('dd/MM/aaaa') };
}
}
, {
label: 'Good',
type: 'number',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
return { v: good / (good + bad), f: good.toString() };
}
}, {
label: 'Bad',
type: 'number',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
return { v: bad / (good + bad), f: bad.toString() };
}
},
{
role: 'annotation',
type: 'string',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
var perc = (bad / (good + bad)) * 100;
var ann = parseFloat(Math.round(perc).toFixed(2)) + "%";
return { v: ann, f: ann.toString() };
}
}]);

var options = {
title: 'Daily deeds',
isStacked: true,
vAxis: { format: '#.##%' }
};

var chart = new google.visualization.ColumnChart(document.getElementById('chart'));
chart.draw(view, options);
}
</script>

最佳答案

您需要在“好”列之后添加另一个注释列:

view.setColumns([{
label: 'Date',
type: 'string',
calc: function (dt, row) {
var str = dt.getValue(row, 0);
return { v: str, f: str.toString('dd/MM/aaaa') };
}
}, {
label: 'Good',
type: 'number',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
return { v: good / (good + bad), f: good.toString() };
}
}, {
role: 'annotation',
type: 'string',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
var perc = (good / (good + bad)) * 100;
var ann = perc.toFixed(2) + "%";
return ann;
}
}, {
label: 'Bad',
type: 'number',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
return { v: bad / (good + bad), f: bad.toString() };
}
}, {
role: 'annotation',
type: 'string',
calc: function (dt, row) {
var good = dt.getValue(row, 1);
var bad = dt.getValue(row, 2);
var perc = (bad / (good + bad)) * 100;
var ann = perc.toFixed(2) + "%";
return ann;
}
}]);

关于annotations - Google图表堆积了带有不同注释的列,每一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com