简短版本:
对于dygraphs,我需要看到具有相同x的点(一个独特的系列)的坐标。但是dygraphs只显示其中一个。
例如:
P1=[1,2]
P2=[2,10]
P3=[2,12]
我希望能够专注于P2并看到像P2, x=2, y=10
这样的东西,并且如果我专注于后者,则可以使用P3。
有没有办法做到这一点?
长版:
在dygraphs库中,我想绘制一个时间系列(TS)与另一个系列
这意味着对于特定时间T1,TS1具有值" A"和TS2的值为" B"。
我需要绘制对应于时间" T1"的点[A,B]。在图表中,x轴表示TS1值,y轴表示TS2值。
我的问题是在不同的时间,我可能有相同的TS1或TS2值。 结果是我的计算图表"有很多分享相同的" x"。 Dygraphs只允许显示其中一个点。 有没有办法关注具有相同x的每个点并查看它们的坐标?
答案 0 :(得分:0)
你可以写一个custom plotter来描绘散点图。
您可能需要明确设置dateWindow
和valueRange
,因为您正在更改哪个系列对应于x轴和y轴。
这是我的意思demo:
new Dygraph(div,
"T,X,Y\n" +
"1,0,3\n" +
"2,2,6\n" +
..., {
plotter: function (e) {
// This is the officially endorsed way to plot all the series at once.
if (e.seriesIndex !== 0) return;
var sets = e.allSeriesPoints;
var ctx = e.drawingContext,
g = e.dygraph;
ctx.beginPath();
for (var i = 0; i < sets[0].length; i++) {
var x = sets[0][i].yval,
y = sets[1][i].yval,
coords = g.toDomCoords(x, y),
screenX = coords[0],
screenY = coords[1];
if (i == 0) {
ctx.moveTo(screenX, screenY);
} else {
ctx.lineTo(screenX, screenY);
}
}
ctx.stroke();
}
});
正如您在演示中所看到的,这可以正确呈现,但需要更多工作才能使鼠标交互看起来正确。