FLOT订购的酒吧太小而且相距很远

时间:2014-01-02 21:07:23

标签: jquery charts flot

我有一个带有orderBars插件的Flot图。

我有2年不同的JSON数据,当我将它们组合在一起时,它们会变得太小。当我每年渲染一次时看起来没问题。

我试图覆盖选项中没有成功的条形宽度。

如何解决这个问题? Example

2 个答案:

答案 0 :(得分:2)

orderBars插件尝试做的是计算适当的 jitter 值以相互偏移条形。考虑到大的javascript毫秒时代值(它没有考虑到大范围的数据并且似乎尝试抖动它们1s),它看起来很糟糕。通常我的建议flot,跳过插件和抖动吧。

一年有3.15569e10毫秒;这除以条数,是良好+-抖动值的基础:

var millisInYear = 3.15569e10;
var N = raw2013.length;
var jitter = millisInYear / N;
for (var i = 0; i < N; i++){
    // find the midpoint and jitter around it
    // this way the "middle" bar is over the year tick
    if (i < N/2){
        raw2013[i].data[0][0] = raw2013[i].data[0][0] - (jitter * (N/2 - i));
    }else{
        raw2013[i].data[0][0] = raw2013[i].data[0][0] + (jitter * (i - N/2));
    }
}

这是一个更新的fiddle(请原谅我删除了JSON解析,但是我更喜欢用威士忌来思考:)

答案 1 :(得分:2)

除了马克答案的抖动之外,你还可以增加条形的宽度(见updated fiddle):

var options = {
    bars: {
        show: true,
        barWidth: 500000000
    }
}

这里我使用了固定宽度,但在实践中你应该根据绘图宽度和绘图中的条数计算条宽。