在人力车中,我想在使用Rickshaw.Graph.Axis.Y.Scaled
轴时为一个特定的Y轴网格线着色,而不是其他Y轴网格线。我可以用jQuery做到这一点(特别是32°是我关心的行):
$('#container_id * svg * g[data-y-value=32] > line')
.css('stroke','rgb(255,0,0)')
.css('stroke-width','2')
是否有一种惯用的,更好的或更安全的着色特定线网格线的方法?
答案 0 :(得分:1)
我有一些更惯用的东西,我在猴子修补渲染器和使用D3选择器:
var y_grid = new Rickshaw.Graph.Axis.Y.Scaled({
graph: graph,
tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
tickValues: y_tick_vals,
scale: scale
});
// Begin monkey business
var old_render = y_grid.render
y_grid.render = function() {
old_render.apply(y_grid,arguments)
y_grid.graph.vis.select('svg .y_grid g[data-y-value="32"] line')
.style('stroke','rgb(255,0,0)')
.style('stroke-width','1')
}