重复上一篇文章,这次使用原始代码。
我正在创建 SVG 烛台图,但无法生成适当的高度。
x 值由开盘价决定。在某些情况下收盘价高于开盘价,因此需要相应调整仓位。
因为负值会产生错误,即根本没有矩形,所以我需要取开盘价和收盘价之间的差值并将这个值添加到 x 位置。
这是我现在拥有的代码。我将如何有效地执行这种类型的调整?
我考虑了一个 foreach 语句,但我的 php 知识有限,而且我一直遇到错误。
已编辑
X 值递增。Y值是开盘价。
<?php
$open_price = array(5,10,15,20,25,30);
$closing_price = array (3,15,50,15,14);
$svg = '<svg id="main_graph" xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="600" style="border:1px solid black;">';
$bars;
for ($i=0, $count = count($open_price); $i<$count; $i++)
{
$calculation = ($open_price[$i])-($closing_price[$i]);
$bars .= '<rect x="'. $i * 5 . '" y="' . $open_price[$i] . '" width="20" height="' . $calculation . '" fill="blue"/>';
};
echo $graph = $svg . $bars . '</svg>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Crazy Bars</title>
<style type="text/css">
#main_graph {margin-left: 100px;}
</style>
</head>
<body>
</body>
</html>