繁体   English   中英

jqPlot DateAxisRenderer tickInterval问题

[英]jqPlot DateAxisRenderer tickInterval issue

我正在使用jqPlot来说明一些时间序列数据。 同时,我有一个下拉菜单,用于控制x轴(时间轴)的刻度间隔。 滴答间隔可以动态更改,但最后一个滴答总是超出范围。

例如,我的x轴上限是Dec 1 1961 ,开始日期是Jan 2 1961 ,间隔是3 month 然后,轴上的最后一个刻度是Jan 2 1962 ,而不是实际的上限。 所以我的问题是如何使刻度线间隔仅在x轴边界内有效(就像在外推之前与上限进行比较)。 谢谢!

这是我的情节的演示

尝试更好地向自己解释。

  1. x轴上的最后一个数字应该是数组x_date2 [300]的最后一个元素。 如果第一个日期x_date [0]与最后一个日期之间的差值可以除以刻度间隔的值,那么一切都很好。
  2. 如果不是,则除最后一个元素(即上限)外,其他刻度之间的间隔应通过下拉刻度间隔选择来控制。

JS:

var x_water = [data are available on JSFIDDLE]
var x_date2 = [data are available on JSFIDDLE]
var x_date2_len = x_date2.length;
var paired = [];

for (var i = 0; i <= x_date2_len; i += 1) {
    paired.push([x_date2[i], x_water[i]]);
}

$('#calc1').click(function (range_interval) {
    var range_interval = $("#display_interval_1").val();
    createplot1(range_interval);
});

function createplot1(range_interval) {
    $.jqplot.config.enablePlugins = true;
    $('#chart1').empty();
    $.jqplot('chart1', [paired], {
        seriesDefaults: {
            showMarker: false,
            pointLabels: {
                show: false
            }
        },
        series: [{
            label: 'Water Concentrations'
        }],
        axes: {
            xaxis: {
                renderer: $.jqplot.DateAxisRenderer,
                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                tickOptions: {
                    formatString: '%#m/%#d/%Y',
                    angle: -30
                },
                min: x_date2[0],
                max: x_date2[300],
                tickInterval: range_interval,
                label: 'Date',
                pad: 0
            },
            yaxis: {
                label: 'Water Total (μg/L)',
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
                pad: 0
            }
        },
        legend: {
            show: true,
            location: 'nw',
            placement: 'inside',
            fontSize: '11px'
        }
    })
}

在您的函数createplot1中,我将max:x_date2 [300]更改为max:x_date2 [200]。 我随机选择了这个数字以查看效果,现在它可以按您想要的方式工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM