我试图在一段时间内创建一个温度变化图,所以开始时,我试图绘制一些图上绘制的测试数据,但这些数据似乎都不想显示。我对JavaScript和flot有点新鲜,因此我试图根据看到其他人如何创建图表来拼凑所需的代码。无法获得flot图来显示
x轴上的时间数据,我在代码中创建的只是为了绘制温度,而我从包含测试数据的.json文件中检索温度数据。将数据点放入一个集合以传递到绘图函数似乎会合在一起,但我无法获得显示。相反,我得到的只是图像中显示的内容,我将在代码后显示。任何人都可以让我知道我做错了什么或我失踪了什么?我真的很难过这里。
源代码(通过编辑海军报示例页面制作):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
\t <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
\t <title>Flot Examples: Resizing</title>
\t <link href="../examples.css" rel="stylesheet" type="text/css">
\t <link href="../shared/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css">
\t <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../../excanvas.min.js"></script><![endif]-->
\t <script language="javascript" type="text/javascript" src="../../jquery.js"></script>
\t <script language="javascript" type="text/javascript" src="../shared/jquery-ui/jquery-ui.min.js"></script>
\t <script language="javascript" type="text/javascript" src="../../jquery.flot.js"></script>
\t <script language="javascript" type="text/javascript" src="../../jquery.flot.time.js"></script>
\t <script type="text/javascript">
\t
\t $(document).ready(function() {
\t \t //Creating an array to hold the plot data
\t \t var plotdata = new Array();
\t \t $.getJSON('test_data.json', function (data) {
\t \t \t //Creating a base date to make times off of
\t \t \t var basedate = new Date("February 20, 2017 08:00");
\t \t for(var i = 0; i < 10; i++)
\t \t {
\t \t \t var datepoint = new Date(basedate.getTime() + 600000*i).getTime();
\t \t \t switch(i) {
\t \t \t \t case 0:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-22 20:00"][0];
\t \t \t \t break;
\t \t \t \t case 1:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-18 22:50"][0];
\t \t \t \t break;
\t \t \t \t case 2:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-20 22:00"][0];
\t \t \t \t break;
\t \t \t \t case 3:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-20 13:50"][0];
\t \t \t \t break;
\t \t \t \t case 4:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-19 7:00"][0];
\t \t \t \t break;
\t \t \t \t case 5:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-21 15:30"][0];
\t \t \t \t break;
\t \t \t \t case 6:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-18 3:50"][0];
\t \t \t \t break;
\t \t \t \t case 7:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-16 5:20"][0];
\t \t \t \t break;
\t \t \t \t case 8:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-19 6:10"][0];
\t \t \t \t break;
\t \t \t \t case 9:
\t \t \t \t var temppoint = data["node 10"][0]["2017-02-16 0:40"][0];
\t \t \t \t break;
\t \t \t }
\t \t \t //plotdata[i] = [datepoint, temppoint];
\t \t \t plotdata.push(new Array(datepoint, temppoint));
\t \t }
\t \t console.log(plotdata)
\t \t }) //End of getJSON
\t \t var dataset = [
\t \t {
\t \t \t label: "temperature",
\t \t \t data: plotdata
\t \t }
\t \t \t ];//End of var dataset declaration
\t \t $.plot($("#placeholder"), dataset, {
\t \t \t series: {
\t \t \t \t lines: { show: true },
\t \t \t \t points: {show: true },
\t \t \t },
\t \t \t grid: {
\t \t \t \t hoverable: true,
\t \t \t \t clickable: true
\t \t \t },
\t \t \t xaxis:
\t \t \t {
\t \t \t \t mode: "time",
\t \t \t \t timeformat: "%h: %M\n %m/%d/%y",
\t \t \t \t min: (new Date("2017/02/19")).getTime(),
\t \t \t \t max: (new Date("2017/02/21")).getTime()
\t \t \t },
\t \t \t yaxis:
\t \t \t {
\t \t \t \t min: 50, max: 100, tickSize: 5
\t \t \t }
\t \t });
\t }) //End of (document).ready
\t </script>
</head>
<body>
\t <div id="content">
\t \t <div class="demo-container">
\t \t \t <div id="placeholder" class="demo-placeholder"></div>
\t \t </div>
\t </div>
</body>
</html>
这是从代码是什么结果: http://imgur.com/a/1lTvj
任何见解,以我所能做解决这个将非常感激。谢谢!
请参阅[本](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call/14220323#14220323)的详细解释。 – Raidri