网格线的 Dygraph 自定义颜色
Dygraph custom color for grid lines
我想为 x 轴标签中具有日期 (20Jul) 的网格线设置红色,但为时间 x 轴标签设置默认值(黑色)。
我曾尝试在 Dygraph 选项中使用 "gridLineColor",但它会同时应用于所有网格线。
view.chart = new Dygraph(panelForDygraph,
data, {
width: activeTab.getWidth() - 50,
height: panel.up().up().getHeight() - 150,
labels: channel,
labelsSeparateLines: true,
gridLineColor: 'lightgrey'
}
);
这是我想要做的:
您可以使用 underlayCallback
. Check out the highlighted-region 演示页面绘制任何您喜欢的东西。
在你的情况下,你想要这样的东西:
view.chart = new Dygraph(
panelForDygraph,
data, {
width: activeTab.getWidth() - 50,
height: panel.up().up().getHeight() - 150,
labels: channel,
labelsSeparateLines: true,
gridLineColor: 'lightgrey',
underlayCallback: function(canvas, area, g) {
var x1 = g.toDomXCoord(new Date('2019-07-19'));
var x2 = g.toDomXCoord(new Date('2019-07-20'));
canvas.fillStyle = 'red';
canvas.fillRect(x1, area.y, 1, area.h);
canvas.fillRect(x2, area.y, 1, area.h);
}
}
);
您可以根据口味调整宽度和位置。
我想为 x 轴标签中具有日期 (20Jul) 的网格线设置红色,但为时间 x 轴标签设置默认值(黑色)。
我曾尝试在 Dygraph 选项中使用 "gridLineColor",但它会同时应用于所有网格线。
view.chart = new Dygraph(panelForDygraph,
data, {
width: activeTab.getWidth() - 50,
height: panel.up().up().getHeight() - 150,
labels: channel,
labelsSeparateLines: true,
gridLineColor: 'lightgrey'
}
);
这是我想要做的:
您可以使用 underlayCallback
. Check out the highlighted-region 演示页面绘制任何您喜欢的东西。
在你的情况下,你想要这样的东西:
view.chart = new Dygraph(
panelForDygraph,
data, {
width: activeTab.getWidth() - 50,
height: panel.up().up().getHeight() - 150,
labels: channel,
labelsSeparateLines: true,
gridLineColor: 'lightgrey',
underlayCallback: function(canvas, area, g) {
var x1 = g.toDomXCoord(new Date('2019-07-19'));
var x2 = g.toDomXCoord(new Date('2019-07-20'));
canvas.fillStyle = 'red';
canvas.fillRect(x1, area.y, 1, area.h);
canvas.fillRect(x2, area.y, 1, area.h);
}
}
);
您可以根据口味调整宽度和位置。