我有一个带有orderBars插件的Flot图。
我有2年不同的JSON
数据,当我将它们组合在一起时,它们会变得太小。当我每年渲染一次时看起来没问题。
我试图覆盖选项中没有成功的条形宽度。
如何解决这个问题? Example
答案 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
}
}
这里我使用了固定宽度,但在实践中你应该根据绘图宽度和绘图中的条数计算条宽。