3

在此处输入图像描述

我有一个详细说明风速的图表,我希望 Y 轴上的网格每 5 (m/s) 有一个刻度。 如何设置 Y 轴网格的密度?

// triggered when data has been loaded via ajax
$graph.on('graph.render', function(e, d) {
    var graph, y_axis;

    // Fixtures
    palette = new Rickshaw.Color.Palette();

    graph = new Rickshaw.Graph( {
        element: $graph.find('.chart');
        width: $graph.innerWidth() - 20,
        height: $graph.innerHeight() - 20,
        series: [
            {
                key: 'min',
                name: 'Min Wind Speed',
                color: palette.color(),
                data: d[0].data
            } // ...
        ]
    });

    x_axis = new Rickshaw.Graph.Axis.Time({
        graph: graph,
        timeUnit: {
            seconds: 600,
            formatter: function(d) {
                return d.toUTCString().match(/(\d+:\d+):/)[1];
            }
        }
    });

    y_axis = new Rickshaw.Graph.Axis.Y( {
        graph: graph,
        orientation: 'left',
        element: $graph.find('.y-axis')
    });
});
4

1 回答 1

4

您可以通过显式设置刻度数ticks或要显示的值tickValues

var yAxis = new Rickshaw.Graph.Axis.Y( {
  graph: graph,
  tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
  //ticks: 5, //static number of ticks, only works 
  tickValues: [50,100,150,200,250,300,350], // values to use/display
  element: document.getElementById('y_axis')
} );

您将使用其中一个tickstickValues,而不是两者。如果您tickValues按上述方式使用并且您的最大 y 值为180,则 y 比例只会显示值[50,100,150,200]250而不会显示上述值。如果您添加更多具有更高 y 值的数据,比例尺将自动重新缩放并显示您指定的更高值。

更多信息可以在D3ticksSVG 轴页面上找到。tickValues

于 2014-02-22T01:23:55.443 回答