Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带曲线网格标记的Flot_Javascript_Flot - Fatal编程技术网

Javascript 带曲线网格标记的Flot

Javascript 带曲线网格标记的Flot,javascript,flot,Javascript,Flot,我正在尝试为BMI水平创建Flot散点图 我如何创建曲线网格标记以及标签-如下所示-用于肥胖、超重等 我不认为这些线是网格线,而只是要绘制的附加系列。然后可以将它们设置为网格线样式 // function to generate series for each BMI function genData(bmi){ var data = []; for (var m = 1.3; m < 2.01; m+=0.01){ data.push([m,bmiEq(b

我正在尝试为BMI水平创建Flot散点图

我如何创建曲线网格标记以及标签-如下所示-用于肥胖、超重等


我不认为这些线是网格线,而只是要绘制的附加系列。然后可以将它们设置为网格线样式

// function to generate series for each BMI
function genData(bmi){
    var data = [];
    for (var m = 1.3; m < 2.01; m+=0.01){
        data.push([m,bmiEq(bmi,m)]);
    }
    return {color: 'gray', data: data, shadowSize: 0};
}
function bmiEq(bmi,m){
   return bmi * Math.pow(m,2); 
}

var somePlot = $.plot("#container", [ genData(18.5), genData(22), genData(25) ]);

// add some labels on the "grid" lines
var ctx = somePlot.getCanvas().getContext("2d");  //canvas context
var series = somePlot.getData();
var xaxis = somePlot.getXAxes()[0];
var yaxis = somePlot.getYAxes()[0];
var offset = somePlot.getPlotOffset();
ctx.font = "14px 'Segoe UI'";
ctx.fillStyle = "black";
var xPos = xaxis.p2c(1.85)+offset.left;
var yPos = yaxis.p2c(bmiEq(18.5,1.85)) + offset.top;
ctx.fillText('18.5', xPos, yPos);
//为每个BMI生成序列的函数
功能性别数据(bmi){
var数据=[];
对于(var m=1.3;m<2.01;m+=0.01){
数据推送([m,bmiEq(bmi,m)]);
}
返回{color:'gray',data:data,shadowSize:0};
}
函数bmiEq(bmi,m){
返回bmi*数学功率(m,2);
}
var somePlot=$.plot(#容器“,[genData(18.5),genData(22),genData(25)];
//在“网格”线上添加一些标签
var ctx=somePlot.getCanvas().getContext(“2d”)//画布上下文
var series=somePlot.getData();
var xaxis=somePlot.getXAxes()[0];
var yaxis=somePlot.getYAxes()[0];
var offset=somePlot.getPlotOffset();
ctx.font=“14px‘Segoe用户界面’”;
ctx.fillStyle=“黑色”;
var xPos=xaxis.p2c(1.85)+offset.left;
var yPos=yaxis.p2c(bmiEq(18.5,1.85))+offset.top;
ctx.fillText('18.5',XPO,YPO);
这产生(小提琴):

对于以下情况可能很有用you@DNS谢谢我在我的项目中使用了很多flot,所以在这里回答问题是我能做的最起码的回报。