尝试隐藏第二个轴时,绘图图向上移动

时间:2016-07-05 15:36:06

标签: javascript charts flot

我目前正在研究一些显示与时间相关的单组和多组数据的flot图。下面是图表上单组数据的示例图像。

Single data set

日期时间选择器允许用户比较第二个数据集在初始集上绘制的两个时间范围。我遇到的问题是,当第二个数据集被绘制在第一个数据集上时,整个图形向上移动,显示隐藏的刻度应该是的大的空白区域,请参见下面的示例图像。

Multiple dataset

正如您所看到的,数据集是不同的时间范围,因此它们不能作为比较在同一轴上。这是我对轴的选择。

xaxes: [{
            tickColor: "#fff",
            mode: "time",
            timeformat: timeFormat,
            minTickSize: tickSize,
            font: {
                style: "normal",
                color: "#666666"
            },
            axisLabel: xLabel,
            axisLabelUseCanvas: true,
            axisLabelFontSizePixels: 11,
            axisLabelColour: "#666666",
            axisLabelFontFamily: 'Open Sans',
            axisLabelPadding: 20
        },
        {
            ticks: [],
            mode: "time",
            timeFormat: timeFormat
        }],

在第二个x轴上应用选项show:false会完全删除移位,但是因为它是假的,我的图形点的工具提示也会被删除。

如果需要知道,我使用flot.time,flot.tooltip和flot.axislabels。 这是我的第一个问题,所以任何反馈都会很棒:)

1 个答案:

答案 0 :(得分:0)

My example on JSFiddle.

这一切都归结为两个主要变化。将比较图数据分配给第二个x轴:

var dataSet = [{
            data:  [
                [1467669600000, 12],
                [1467709200000, 14]
            ],
            label: 'data1',
            xaxis: 1
        }, {
            data:  [
                [1467583200000, 15],
                [1467622800000, 13],
                [1467662400000, 16]
            ],
            label: 'data2',
            xaxis: 2
        }];

对于美学,你应该隐藏第二个x轴,所以它不会镜像相同的小时(设置show: false

{
    "show": false,
    "mode": "time",
    "timeformat": "%H:%M",
    "tickSize": [2, "hour"],
    "min": 1467583200000,
    "max": 1467666000000,
    "timezone": "browser"
}