gpt4 book ai didi

svg - 如何使用D3/人力车在时间序列图上标记离散点?

转载 作者:行者123 更新时间:2023-12-03 16:20:05 25 4
gpt4 key购买 nike

我正在使用Rickshaw创建实时更新时间序列图。

这是演示:http://abhshkdz.github.io/icuvisualanalytics/prototypes/rickshaw.html

数据采用csv格式(时间,值),这是可视化的核心javascript:

var count = 0, index=0;

var margin = {top: 10, right: 10, bottom: 10, left: 10},
width = window.innerWidth - margin.right - margin.left - 100,
height = window.innerHeight - margin.top - margin.bottom - 100;

var graph = new Rickshaw.Graph( {
element: document.querySelector("#chart"),
width: width,
height: height,
renderer: 'line',
min: -300,
max: 500,
preserve: true,
series: new Rickshaw.Series.FixedDuration(
[
{
name: 'ECG',
color: palette.color()
}
],
undefined,
{
timeInterval: 12.5,
maxDataPoints: 400,
timeBase: data[index][count].x
})
})

var x_axis = new Rickshaw.Graph.Axis.Time( { graph: graph } );

var y_axis = new Rickshaw.Graph.Axis.Y( {
graph: graph,
orientation: 'left',
tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
element: document.getElementById('y_axis')
} );

var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph
} );

graph.render();

setInterval(function () {

if (count == 2397) {
count = 0;
index++;
}
var d = {'ECG': data[index][count+=3].y};
graph.series.addData(d);
graph.render();

}, 12.5);

现在,存在由算法生成的另一组数据。该数据也采用csv格式(时间,值)。基本上可以找到该图的峰值。使用这些数据,我想在此可视化本身上标记这些点。

据我看,人力车本身并不支持使用不同渲染器的多个系列(要么都必须是线型,要么都必须是散点图,等等)。

那么我应该怎么做呢?

最佳答案

多渲染器功能是在大约一个月前添加的。此example显示了如何在一个图表中组合多个渲染器。该示例的相关代码:

var graph = new Rickshaw.Graph( {
element: document.getElementById("chart"),
renderer: 'multi',
width: 900,
height: 500,
dotSize: 2,
series: [
{
name: 'temperature',
data: seriesData.shift(),
color: 'rgba(255, 0, 0, 0.4)',
renderer: 'stack'
}, {
name: 'heat index',
data: seriesData.shift(),
color: 'rgba(255, 127, 0, 0.4)',
renderer: 'stack'
}, {
name: 'dewpoint',
data: seriesData.shift(),
color: 'rgba(127, 0, 0, 0.3)',
renderer: 'scatterplot'
}, {
name: 'pop',
data: seriesData.shift().map(function(d) { return { x: d.x, y: d.y / 4 } }),
color: 'rgba(0, 0, 127, 0.4)',
renderer: 'bar'
}, {
name: 'humidity',
data: seriesData.shift().map(function(d) { return { x: d.x, y: d.y * 1.5 } }),
renderer: 'line',
color: 'rgba(0, 0, 127, 0.25)'
}
]
});

关于svg - 如何使用D3/人力车在时间序列图上标记离散点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17367959/

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