gpt4 book ai didi

jquery - 如何在 jQuery flot 中将堆栈效果添加到条形图中

转载 作者:行者123 更新时间:2023-12-01 05:01:32 25 4
gpt4 key购买 nike

我的 jquery flot 有问题

首先我得到了下面的图表 http://design2u.me/blog/example/bar/index.html

代码如下:

<script type="text/javascript">
$(function () {
// generate a dataset
var d1 = []; d1.push([3,100]);
var d2 = []; d2.push([3,66]);
var d3 = []; d3.push([3,33]);

//announce a dataset
var data = [{ data: d1, color: "#f21d1d" },{ data: d2, color: "#1d61f2" },{ data: d3, color: "#5bc91a" }];
var placeholder = $("#placeholder");

// plot it
var plot = $.plot(placeholder, data, {
stack:true,
bars: { show: true, barWidth: 4, fill: 0.5 },
xaxis: { ticks: [], autoscaleMargin: 0.02 , min: 0, max: 10 },
yaxis: { min: 0, max: 120 },
});
});
</script>

但是,我需要堆叠不同的部分,并且我已经添加了属性

stack:true,

通过尝试和错误,我发现如果我将绘图函数更改如下:

var plot = $.plot(placeholder, data, {
series: {
stack:true,
bars: { show: true, barWidth: 4, fill: 0.5 },
xaxis: { ticks: [], autoscaleMargin: 0.02 , min: 0, max: 10 },
yaxis: { min: 0, max: 120 },
}
});

然后我得到以下结果:http://design2u.me/blog/example/bar/index2.html

条形已成功堆叠,但变得太宽......

我希望酒吧只在中心,我该如何解决这个问题?非常感谢!

最佳答案

嗯,我认为这可能是 flot 中的一个错误。如果每个系列有多个数据点,我认为效果会更好。事实上,我能弄清楚如何做到这一点的唯一方法是添加一条“虚拟”线以强制 x 轴具有正确的宽度并使条形也保持相同的宽度:

首先,向您的数据添加一个新数据集:

{
data: [[0, 0], [10, 0]],
bars: {
show: false
},
lines: {
show: false
}}

[0,0] 是 x 轴最小值,[10,0] 是 y 轴最小值。

然后我稍微更改了您的绘图选项,因此您的 $.plot 调用如下所示:

var plot = $.plot(placeholder, data, {
series: {
stack:true,
bars: {
show: true,
barWidth: 1,
fill: 0.5,
align: 'center'
}
}
});​

产生此工作示例:http://jsfiddle.net/ryleyb/92v2h/

关于jquery - 如何在 jQuery flot 中将堆栈效果添加到条形图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9628707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com