您当前的位置:首页 >> 网站建设
RSS

PHP+Flash开发的股票走势图中坐标轴的计算

作者: E族网络 来源: 2009-10-27

最近用PHP+Flash给客户开发了一个价格走势图(蜡烛图),这个蜡烛图包含5日均线,10日均线和20日均线。在开发的过程中遇到了横向坐标轴的文字挤在一起的问题。在宽度固定的情况下,当数据越多,在x轴(横坐标)上显示的数据很容易的全部叠加在一起,根本无法看清,后来给函数传递了一个图标宽度的变量用来计算横轴每个标点之间的距离,原理如下:

每个文字占用的距离一般是固定的,比如我设置的文字宽度是25(这个数据相对来说好计算),在已知图表宽度的时候,我们可以算出这个图标可以显示多少个字,即字数 = 图表的宽 / 文字宽度。
图表上的数据点我们通常是已知的,那么根据数据点和上面计算的字数即可算出标点的距离,即step = 数据点数 / 字数。对step取整,小于一的时候设置为1,这样就可以了。

 

这里推荐几个用PHP来开发曲线图的网站:

  1. open flash chart:我就是用这个开发的,v2 基于LGPL. 协议 强烈推荐   地址:http://teethgrinder.co.uk/open-flash-chart-2/
  2. Jpgraph:这个是应该是大家所熟知的PHP下的一个图标组件,功能及其强大,几乎可以说是无所不能,不过用这个包的话得先解决中文显示问题,还有,对于商业用途人家是收费的 http://www.aditus.nu/jpgraph/features_gallery.php#StockPlots
  3. XML/SWF Charts:PHP+Flash,支持蜡烛图、曲线图、饼图、主线图等,可以免费使用,须保留链接    http://www.maani.us
  4. FusionCharts :PHP+Flash,支持蜡烛图,曲线图、饼图、主线图等,可免费使用,不过v3的免费版本有水印(图表上有链接) 地址:http://www.fusioncharts.com/free/
  5. AmCharts:对这个不是很了解,也是基于flash的,有兴趣自己看看   http://www.amcharts.com/

联系E族

关闭
  • 即时信息
  • 详细信息

发送