【问题标题】:How can I color one Y-axis line different from the other grid-lines?如何为与其他网格线不同的 Y 轴线着色?
【发布时间】:2015-02-18 17:08:00
【问题描述】:

在 Rickshaw 中,当使用 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')

是否有一种惯用、更好或更安全的方法来为特定的网格线着色?

【问题讨论】:

    标签: d3.js rickshaw


    【解决方案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')
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 2011-07-01
      相关资源
      最近更新 更多