Javascript 重复编号时Jquery Flot错误图形
我在一个ajax调用中收到:Javascript 重复编号时Jquery Flot错误图形,javascript,jquery,flot,Javascript,Jquery,Flot,我在一个ajax调用中收到:[[8,2],[13,1],[17,1],[18,1],[7,1],并将其传递给jquery flot 问题是,图形从[7,1]开始,它应该从[8,2]开始,然后在[7,1]结束,但它不是,它会导致一个奇怪的图形: 这是我的剧本: $.ajax({ url: "{{ URL::to('/ajaxcall') }}", method: 'GET', dataType: 'json', success: o
[[8,2],[13,1],[17,1],[18,1],[7,1]
,并将其传递给jquery flot
问题是,图形从[7,1]
开始,它应该从[8,2]
开始,然后在[7,1]
结束,但它不是,它会导致一个奇怪的图形:
这是我的剧本:
$.ajax({
url: "{{ URL::to('/ajaxcall') }}",
method: 'GET',
dataType: 'json',
success: onOutboundReceived
});
function onOutboundReceived(series) {
var series = series;
//$.plot($('#site_tay'), finalData, options);
var plot_statistics = $.plot($("#site_tay"), [{
data: series,
label: "Cotizaciones"
}
], {
series: {
lines: {
show: true,
lineWidth: 2,
fill: true,
fillColor: {
colors: [{
opacity: 0.2
}, {
opacity: 0.01
}
]
}
},
points: {
show: true
},
shadowSize: 2
},
legend:{
show: false
},
grid: {
labelMargin: 10,
axisMargin: 500,
hoverable: true,
clickable: true,
tickColor: "rgba(255,255,255,0.22)",
borderWidth: 0
},
colors: ["#FFFFFF", "#4A8CF7", "#52e136"],
xaxis: {
ticks: 11,
tickDecimals: 0
},
yaxis: {
ticks: 5,
tickDecimals: 0
}
});
$("#site_tay").bind("plothover", function (event, pos, item) {
var str = "(" + pos.x.toFixed(2) + ", " + pos.y.toFixed(2) + ")";
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0],
y = item.datapoint[1];
showTooltip(item.pageX, item.pageY,
item.series.label + " del dia " + x + " = " + y);
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
function showTooltip(x, y, contents) {
$("<div id='tooltip'>" + contents + "</div>").css({
position: "absolute",
display: "none",
top: y + 5,
left: x + 5,
border: "1px solid #000",
padding: "5px",
'color':'#fff',
'border-radius':'2px',
'font-size':'11px',
"background-color": "#000",
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
}
$.ajax({
url:“{url::to('/ajaxcall')}}”,
方法:“GET”,
数据类型:“json”,
成功:收到
});
函数onOutboundReceived(系列){
var系列=系列;
//$.plot($('site_tay'),最终数据,选项);
var plot_statistics=$.plot($(“#site_tay”)[{
数据:系列,
标签:“共同市场”
}
], {
系列:{
线路:{
秀:没错,
线宽:2,
填充:是的,
填充颜色:{
颜色:[{
不透明度:0.2
}, {
不透明度:0.01
}
]
}
},
要点:{
秀:真的
},
阴影大小:2
},
图例:{
节目:假
},
网格:{
labelMargin:10,
差额:500,
悬停:是的,
可点击:正确,
tickColor:“rgba(255255,0.22)”,
边框宽度:0
},
颜色:[“FFFFFF”、“4A8CF7”、“52e136”],
xaxis:{
滴答声:11,
小数点:0
},
亚克斯:{
滴答声:5,
小数点:0
}
});
$(“#site_tay”).bind(“plothover”,函数(事件、位置、项目){
var str=“(“+pos.x.toFixed(2)+”,“+pos.y.toFixed(2)+”);
如果(项目){
if(上一个点!=item.dataIndex){
previousPoint=item.dataIndex;
$(“#工具提示”).remove();
var x=项。数据点[0],
y=项目数据点[1];
显示工具提示(item.pageX、item.pageY、,
item.series.label+“del dia”+x+“=”+y);
}
}否则{
$(“#工具提示”).remove();
previousPoint=null;
}
});
函数显示工具提示(x、y、内容){
$(“+contents+”).css({
位置:“绝对”,
显示:“无”,
顶部:y+5,
左:x+5,
边框:“1px固体#000”,
填充:“5px”,
“颜色”:“fff”,
“边界半径”:“2px”,
“字体大小”:“11px”,
“背景色”:“000”,
不透明度:0.80
}).appendTo(“body”).fadeIn(200);
}
}
如何解决此问题?图表从7开始,因为7是数据中最小的x值,x轴的顺序与自然数相同
如果您的x值不应被视为数字,请使用类别插件(参见此):
在bind label函数中,如何将x的值传递给消息?谢谢。是的,但问题是我注意到我有一个bug,它显示的是位置,而不是分配给该位置的值。使用:
item.series.data[item.datapoint[0]][0]
谢谢!
xaxis: {
mode: 'categories'
},