gpt4 book ai didi

javascript - 如何使用 Google Charts API 实现水平烛台?

转载 作者:搜寻专家 更新时间:2023-10-31 08:47:04 25 4
gpt4 key购买 nike

我想使用 Google Charts API,但他们似乎不支持(至少公开支持)。

这是我想要复制的内容(用于内部报告):screenshot

编辑:这是我发现的最接近的东西:https://developers.google.com/chart/interactive/docs/reference#barformatter

最佳答案

没有简单的方法可以做完全相同的事情,但您可以稍微作弊并得到类似的东西(您可以根据需要进行自定义以进一步微调):

Sample

基本上,我制作了一个包含 6 个不同系列的堆叠条形图。

  1. 虚拟(透明)系列
  2. 黑线(因此误差条正确显示)
  3. (和 4、5、6)范围为灰色、红色、黄色、绿色

Dummy 系列是透明的,它设置了第一个条形图在图表上的显示距离。黑线系列始终为 0,并且上面有从 0 到 100 的误差线(下面的间隔列)。其他代表数据。

这用手做有点复杂,但您可以创建一个 javascript 函数,在给定单个值的情况下将数字适本地分配到各个系列。我只是输入了任意值。

颜色和透明度可以优化,每个条形的“高度”也可以优化,使其看起来相似。坐标轴基线和网格线可以隐藏以使其看起来更好。图例也可以隐藏。我没有做那些计算你无论如何都会摆弄代码的事情。

代码如下:

function drawVisualization() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Label');
data.addColumn('number', 'Dummy');
data.addColumn('number', 'Black for Lines');
data.addColumn({type: 'number', role: 'interval'});
data.addColumn({type: 'number', role: 'interval'});
data.addColumn('number', 'Grey');
data.addColumn('number', 'Red');
data.addColumn('number', 'Yellow');
data.addColumn('number', 'Green');
data.addRows([
['Target', 65, 0, 0, 100, 15, 00, 00, 00],
['Test A', 85, 0, 0, 100, 00, 00, 00, 15],
['Test B', 70, 0, 0, 100, 10, 00, 05, 00],
['Test C', 10, 0, 0, 100, 00, 15, 00, 00],
]);

// Create and draw the visualization.
new google.visualization.BarChart(document.getElementById('visualization')).
draw(data,
{isStacked: true,
width:600, height:400,
series: [{color: 'transparent'}, {color: 'black'}, {color: 'grey'}, {color: 'red'}, {color: 'yellow'}, {color: 'green'}]
}
);
}

关于javascript - 如何使用 Google Charts API 实现水平烛台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16653114/

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