Flot:水平堆积条 - 删除不必要的填充

时间:2015-05-06 21:21:54

标签: jquery flot

jQuery :1.10.1
Flot :0.7,0.8
JSFiddle http://jsfiddle.net/26gbkyb9/4/

出于某种原因,我似乎无法摆脱水平条上的填充(网格内的空白区域,但在栏外)。如果你看一下上面的JSFiddle链接,你可以看到问题在垂直条上不存在,所以我只能假设它是一个bug。但是,我想知道是否有人有我可以申请的修复。我已经挖掘了Flot Reference on GitHub而没有任何运气。 编辑:我应该注意,填充只会随着图表高度的增加而增加。

输出图像:
Image of output

代码:

<script>
var datahorz = [
    {label: 'Compliant', data: [[90,1]]},
    {label: 'Noncompliant', data: [[10,1]]},
];          
var ticks = [[0, "0%"], [10, "10%"], [20, "20%"], [30, "30%"], [40, "40%"], [50, "50%"], [60, "60%"], [70, "70%"], [80, "80%"], [90, "90%"], [100, "100%"]]
var optionshorz = {
    series: {stack: 1,
             lines: {show: false, steps: false },
             bars: {show: true, align: 'center'},},
    bars: {horizontal: true, lineWidth: 0},
    yaxis: {show: false},
    xaxis: {ticks: ticks, tickSize: 100},
    legend: {show: false}, 
    grid: {borderWidth: 1}
};

$(document).ready(function() {
    $.plot($("#flot-placeholder30DayHorz"), datahorz, optionshorz);
});
</script>
<div id="flot-placeholder30DayHorz" style="width:600px;height:100px;margin:20px;"></div>

感谢任何建议的解决方法。

2 个答案:

答案 0 :(得分:1)

Plot会自动将水平图表上y轴的最小值和最大值更改为0.48 ... 1.52而不是0.5 ... 1.5(我不知道为什么)。

如果您在optionshorz中指定最小值和最大值

yaxis: {
    show: false,
    min: 0.5,
    max: 1.5
},

你得到没有填充的图表。请参阅更新的fiddle

Btw:垂直图表顶部的填充也是如此。此处,最大值设置为102而不是100

答案 1 :(得分:0)

您可以将轴autoscaleMargin选项设置为null,而不是明确设置最小/最大值,以防止应用额外的填充:

yaxis: {
    /* other options */
    autoscaleMargin: null
},

这将允许图表最小/最大值仍然使用数据集自动缩放,但不添加空格。