gpt4 book ai didi

javascript - JQPlot - 仅显示部分条形图

转载 作者:行者123 更新时间:2023-11-28 01:41:06 25 4
gpt4 key购买 nike

我正在尝试实现 JQPLOT 条形图,但它只显示几个条形(针对刻度“e”的两个条形,组合值为“2 null 2”)。下面是我的代码。你能建议这里出了什么问题吗?我添加了警报语句来显示数组中的值,结果作为注释提到:

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<html>
<head>
<!--[if lt IE 9]><script type="text/javascript" src="js/excanvas.min.js"></script><![endif]-->
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/style.css" rel="stylesheet" type="text/css">
<script src="js/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.jqplot.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.jqplot.min.css" />
<script type="text/javascript" src="js/jqplot.barRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.categoryAxisRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.pointLabels.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.json2.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){

var DelayFeed = [[]];
var DelayConfirmation = [[]];
var CorruptFeed = [[]];
var FeedName = [[]];

var feedData = $.ajax({
url: "FeedServlet",
dataType : 'json',
async: false
}).responseText;

var arrayData = JSON.parse(feedData);

for (var i = 0; i < arrayData.length; i++) {

DelayFeed[0].push([ arrayData[i].DelayFeed ]);
DelayConfirmation[0].push([ arrayData[i].DelayConfirmation ]);
CorruptFeed[0].push([ arrayData[i].CorruptFeed ]);
FeedName[0].push([ arrayData[i].FeedName ]);

}

alert(DelayFeed[0]); //8,7,4,3,3
alert(DelayConfirmation[0]); //4,4,4,2,2
alert(CorruptFeed[0]); //4,4,4,2,2

$.jqplot('chart_div', [ DelayConfirmation, DelayFeed, CorruptFeed ]
, { seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions: {
barDirection: 'vertical'
},
pointLabels: { show:true }
},
series:[
{label:'Delay - Confirmation'},
{label:'Delay - Feed'},
{label:'Corrupt Feed'}
],
legend: {
show: true,
placement: 'outsideGrid'
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ['a', 'b', 'c', 'd', 'e'];
},

}
});

});
</script>
</head>
<body>
<div class="work-area">
<div id="chart_div" style="width: 800px; height: 400px;"></div>
</div>
</body>
</html>

最佳答案

乍一看,$.jqplot() 函数中传递的数据格式似乎存在问题。事实上,如果您将三个数据参数替换为以下内容:

var DelayFeed = [8,7,4,3,3];
var DelayConfirmation = [4,4,4,2,2];
var CorruptFeed = [4,4,4,2,2];

$.jqplot('chart_div', [ DelayConfirmation, DelayFeed, CorruptFeed ]

您将获得以下(且正确的)条形图 enter image description here

您需要使用三个简单数组(“[]”)而不是嵌入数组(“[[]]”)。因此,我会尝试使用

$.jqplot('chart_div', [ DelayConfirmation[0], DelayFeed[0], CorruptFeed[0] ] 

关于javascript - JQPlot - 仅显示部分条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20917548/

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