如何绘制图表在PHP或Javascript或JQuery从雅虎财经CSV api的结果


How to draw a chart in PHP or Javascript or JQuery from Yahoo Finance CSV api result?

我想用PHP或Javascript或JQuery从以下url绘制一个图表

http://ichart.yahoo.com/table.csv?s=GOOG& = 2, b = 2, c = 2014, d = 2, e = 30, f = 2014, g = w&忽视= d.csv

我可以使用PHP代码在html中显示结果:

<?php
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "http://ichart.yahoo.com/table.csv?s=GOOG&a=2&b=02&c=2014&d=2&e=30&f=2014&g=w&ignore=d.csv");
    curl_setopt($curl, CURLOPT_HEADER, 0);
    ob_start();
    curl_exec($curl);
    curl_close($curl);
    $data = ob_get_clean();
    $rows = explode("'n", $data);
    echo "<table border='1'>";
    foreach($rows as $row) {
      echo "<tr>";
      $cols = explode(',', $row);
      foreach($cols as $col)
        echo "<td>$col</td>";
      echo "</tr>";
    }
    echo "</table>";
?>

您可以使用Google Charts服务绘制图表。https://developers.google.com/chart/

一旦你下载了文档,脚本必须生成URL从谷歌的服务

我建议JavaScript是这类工作的一个很好的工具。你可以使用许多很棒的库。雅虎的yui图表或jqPlot,如果你喜欢jQuery。

我个人推荐Scott Murray的"Web交互式数据可视化"作为一个很好的起点,你可以购买印刷版或在线免费阅读。这是一个引导演练,构建了一些非常复杂的d3.js示例。引用Murray的话:

  • 将数据加载到浏览器内存
  • 将数据绑定到文档中的元素,根据需要创建新元素
  • 通过解释每个元素的绑定数据并相应地设置其视觉属性来转换这些元素
  • 响应用户输入在状态之间转换元素

如果你想更进一步,我推荐,D3的创造者,Bostock的教程在github.

您可以使用JpGraph仅在PHP中完成此操作。您可以在https://github.com/ivanrodriguez/bresenham-dda-php/blob/master/grafica.php

中找到一个简单的完整实现示例。

在您的情况下,日期可以是X(您需要将日期映射到数值),并且您可以将打开,高,低,关闭,音量,Adj关闭作为Y值在同一图形的不同线上。