Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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 如何将雅虎财经的数据与php/ajax/graph.js集成 我有一个通过YAHOO FINANCE与PHP/AJAX进行欧元兑美元交易的代码。我的问题是如何将发布的数据chart works与CHARTS.JS集成_Javascript_Php_Ajax_Yahoo Finance_Chart.js - Fatal编程技术网

Javascript 如何将雅虎财经的数据与php/ajax/graph.js集成 我有一个通过YAHOO FINANCE与PHP/AJAX进行欧元兑美元交易的代码。我的问题是如何将发布的数据chart works与CHARTS.JS集成

Javascript 如何将雅虎财经的数据与php/ajax/graph.js集成 我有一个通过YAHOO FINANCE与PHP/AJAX进行欧元兑美元交易的代码。我的问题是如何将发布的数据chart works与CHARTS.JS集成,javascript,php,ajax,yahoo-finance,chart.js,Javascript,Php,Ajax,Yahoo Finance,Chart.js,我想得到这个结果 labels: ["2016-06-02 12:41:06", "2016-06-02 12:41:08"], datasets: [{ label: "My Third dataset - No bezier", data: [1.1200,1.1205], lineTension: 0, fill: false, }] 结果

我想得到这个结果

labels: ["2016-06-02 12:41:06", "2016-06-02 12:41:08"],
               datasets: [{
label: "My Third dataset - No bezier",
       data: [1.1200,1.1205],
              lineTension: 0,
                   fill: false,
                    }]
结果是:

{“速率”:“1.1200”,“时间”:“2016-06-02 12:41:06”} {“速率”:“1.1205”,“时间”:“2016-06-02 12:41:08”} {“速率”:“1.1199”,“时间”:“2016-06-02 12:41:10”} {“比率”:“1.1199”,“时间”:“2016-06-02 12:41:12”}

- 完整代码:

    <script src="Chart.bundle.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <style>
        canvas {
            -moz-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;
        }
    </style>

    <?php
if(isset($_GET['fetchOnly'])){
    $from   = 'eur';
    $to     = 'usd';
    $url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from . $to .'=X'; 
    $response = array();
    $handle = fopen($url, 'r'); 
    if ($handle) { 
        while (($data = fgetcsv($handle, 1024, ',', '"')) !== FALSE) 
        { 
            $response['rate'] = $data[1]; 
            $response['time'] = date("Y-m-d H:i:s");
        }
        fclose($handle);

    }  
    echo json_encode($response);
    die();
} 
?>
<div id="responseText"></div>
<script>
// run the function, it will re-run itself
fetchRate();

function fetchRate() {
    // create the new AJAX Object
    xmlhttp = new XMLHttpRequest();
    // this handles the request
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
            // if the request came back successfully
            if(xmlhttp.status == 200){
                // write the response to a div
                div = document.getElementById("responseText")
                div.innerHTML = div.innerHTML + '<br />'+ xmlhttp.responseText;
            }else{
            // if the request had an error
                div.innerHTML = div.innerHTML + '<br />Error fetching rates error code : '+xmlhttp.status;
            }
            // rerun this function to fetch updates
            setTimeout(fetchRate,1000);
        }
    };
    // open the AJAX Object
    xmlhttp.open("GET", "<?= basename(__FILE__) ?>?fetchOnly", true);
    // send the AJAX request
    xmlhttp.send();
}
</script>
    <div style="width:100%;">
        <canvas id="canvas"></canvas>
    </div>

    <script>
        var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
        var randomScalingFactor = function() {
            return Math.round(Math.random() * 100 * (Math.random() > 0.5 ? -1 : 1));
        };
        var randomColorFactor = function() {
            return Math.round(Math.random() * 255);
        };
        var randomColor = function(opacity) {
            return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
        };

        var config = {
            type: 'line',
            data: {
                labels: ["2016-06-02 12:36:05", "2016-06-02 12:37:05"],
                datasets: [{
                    label: "My Third dataset - No bezier",
                    data: [1,2],
                    lineTension: 0,
                    fill: false,
                }]
            },
            options: {
                responsive: true,
                legend: {
                    position: 'bottom',
                },
                hover: {
                    mode: 'label'
                },
                scales: {
                    xAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Month'
                        }
                    }],
                    yAxes: [{
                        display: true,
                        scaleLabel: {
                            display: true,
                            labelString: 'Value'
                        }
                    }]
                },
                title: {
                    display: true,
                    text: 'Chart.js Line Chart - Legend'
                }
            }
        };

        $.each(config.data.datasets, function(i, dataset) {
            var background = randomColor(0.5);
            dataset.borderColor = background;
            dataset.backgroundColor = background;
            dataset.pointBorderColor = background;
            dataset.pointBackgroundColor = background;
            dataset.pointBorderWidth = 1;
        });

        window.onload = function() {
            var ctx = document.getElementById("canvas").getContext("2d");
            window.myLine = new Chart(ctx, config);
        };

        $('#randomizeData').click(function() {
            $.each(config.data.datasets, function(i, dataset) {
                dataset.data = dataset.data.map(function() {
                    return randomScalingFactor();
                });

            });

            window.myLine.update();
        });

        $('#addDataset').click(function() {
            var background = randomColor(0.5);
            var newDataset = {
                label: 'Dataset ' + config.data.datasets.length,
                borderColor: background,
                backgroundColor: background,
                pointBorderColor: background,
                pointBackgroundColor: background,
                pointBorderWidth: 1,
                fill: false,
                data: [],
            };

            for (var index = 0; index < config.data.labels.length; ++index) {
                newDataset.data.push(randomScalingFactor());
            }

            config.data.datasets.push(newDataset);
            window.myLine.update();
        });

        $('#addData').click(function() {
            if (config.data.datasets.length > 0) {
                var month = MONTHS[config.data.labels.length % MONTHS.length];
                config.data.labels.push(month);

                $.each(config.data.datasets, function(i, dataset) {
                    dataset.data.push(randomScalingFactor());
                });

                window.myLine.update();
            }
        });

        $('#removeDataset').click(function() {
            config.data.datasets.splice(0, 1);
            window.myLine.update();
        });

        $('#removeData').click(function() {
            config.data.labels.splice(-1, 1); // remove the label first

            config.data.datasets.forEach(function(dataset, datasetIndex) {
                dataset.data.pop();
            });

            window.myLine.update();
        });
    </script>

帆布{
-moz用户选择:无;
-webkit用户选择:无;
-ms用户选择:无;
}
0.5 ? -1 : 1));
};
var randomColorFactor=函数(){
返回Math.round(Math.random()*255);
};
var randomColor=函数(不透明度){
返回'rgba('+randomColorFactor()+'、'+randomColorFactor()+'、'+randomColorFactor()+'、'+(不透明度| |'.3')+'))';
};
变量配置={
键入:“行”,
数据:{
标签:[“2016-06-02 12:36:05”、“2016-06-02 12:37:05”],
数据集:[{
标签:“我的第三个数据集-无贝塞尔”,
数据:[1,2],
线张力:0,
填充:假,
}]
},
选项:{
回答:是的,
图例:{
位置:'底部',
},
悬停:{
模式:“标签”
},
比例:{
xAxes:[{
显示:对,
scaleLabel:{
显示:对,
标签串:“月”
}
}],
雅克斯:[{
显示:对,
scaleLabel:{
显示:对,
标签字符串:“值”
}
}]
},
标题:{
显示:对,
文本:“Chart.js折线图-图例”
}
}
};
$.each(config.data.dataset,函数(i,数据集){
var背景=随机颜色(0.5);
dataset.borderColor=背景;
dataset.backgroundColor=背景;
dataset.pointBorderColor=背景;
dataset.pointBackgroundColor=背景;
dataset.pointBorderWidth=1;
});
window.onload=函数(){
var ctx=document.getElementById(“画布”).getContext(“2d”);
window.myLine=新图表(ctx,配置);
};
$(“#随机化数据”)。单击(函数(){
$.each(config.data.dataset,函数(i,数据集){
dataset.data=dataset.data.map(函数(){
返回randomScalingFactor();
});
});
window.myLine.update();
});
$('#addDataset')。单击(函数(){
var背景=随机颜色(0.5);
var newDataset={
标签:“数据集”+config.data.datasets.length,
边框颜色:背景,
背景颜色:背景,
点边界颜色:背景,
pointBackgroundColor:背景,
点边界宽度:1,
填充:假,
数据:[],
};
对于(变量索引=0;索引0){
var month=MONTHS[config.data.labels.length%MONTHS.length];
config.data.labels.push(月);
$.each(config.data.dataset,函数(i,数据集){
dataset.data.push(randomScalingFactor());
});
window.myLine.update();
}
});
$('#removeDataset')。单击(函数(){
config.data.datasets.splice(0,1);
window.myLine.update();
});
$('#removeData')。单击(函数(){
config.data.labels.splice(-1,1);//首先删除标签
config.data.datasets.forEach(函数(dataset,datasetIndex){
dataset.data.pop();
});
window.myLine.update();
});

谢谢。

您到底在哪里遇到问题?在meHi samayo看来一切都很好,问题是我不知道如何将数据(PHP/AJAX)集成到图表中。js图表对您有用吗?首先检查图表是否与伪json数据一起工作图表是否为我工作(Github项目:),然后将PHP的json结果传递给javascript数据变量<代码>风险值数据=