java绘制均线图_用JFreeChart绘制股票K线图完整解决方案

因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上搜索发现,以自己最熟悉的两门语言为例,其中有PHP版的开源JPGraph画图程序和 JAVA版的JFreeChart画图工具包,jpgraph用过一段时间,但是发现,其中图形细节方面处理的不够细腻和精致,最后转向使用 jfreechart,这是国外一个开源的图形绘制的java包,里面的画图功能也相当的强大,更主要的利用java强大的面向对象的功能,可以进行很多方面的定制和修改。

网上有很多人在询问如何使用jfreechart来绘制股票K线图,通过阅读其中的一些例子来看,大多比较的凌乱,没有给出一个符合中国股票市场的K线图实例,因为中国的股票市场K线图的颜色表示与国外存在一点差异,也有很多人遇到了如何去掉周六,周日这类不存在交易的日期,网上没有一个很满意的答案,通过实践,本人整理出一个完整的实例,给出完整的注释,只要在eclipse中配置好相应的classpath,甚至不要修改就可以运行,得到一个包含日K 线和日成交量的组合图,希望给大家提供一点帮助,同时也希望大家能够一起交流,改进和挖掘更多的功能!

在进行源代码讲解之前,有必要将本人所领悟到的一些关于jfreechart的概念讲述下,jfreechart工具基本上把一个图形分成了几个逻辑部分。

1.首先是整个的画布对象(chart),画布就相当与一个大的容器,包含一些图形元素,比如为一张白纸       2.然后是画图区域对象(plot),就是实际图形所占据的区域,比如为白纸上的一个长方形       3.然后是图形所需要两条轴对象(axis),比如为白纸上的两条轴线       4.最后是如何进行图像的绘制对象(render),比如为一只画图的笔       5.除开上面的这些对象,还有一个最主要的就是通过必须的数据集(dataset)来生成图形了 至于一些具体的对象细节,就只好请各位去阅读相关的API文档了,在这里就不详细的说明 package chart; import java.awt.Color;//颜色系统 import java.text.SimpleDateFormat;//时间格式 import java.awt.Paint;//画笔系统 import org.jfree.data.time.*; import org.jfree.data.time.Day; import org.jfree.data.time.ohlc.OHLCSeries; import org.jfree.data.time.ohlc.OHLCSeriesCollection; import org.jfree.chart.renderer.xy.*; import org.jfree.chart.axis.*; import org.jfree.chart.plot.*; import org.jfree.chart.*;

public class KLineCombineChart {

public static void main(String[] args) {      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式      double highValue = Double.MIN_VALUE;//设置K线数据当中的最大值      double minValue = Double.MAX_VALUE;//设置K线数据当中的最小值      double high2Value = Double.MIN_VALUE;//设置成交量的最大值      double min2Value = Double.MAX_VALUE;//设置成交量的最低值      OHLCSeries series = new OHLCSeries("");//高开低收数据序列,股票K线图的四个数据,依次是开,高,低,收      series.add(new Day(28, 9, 2007), 9.2, 9.58, 9.16, 9.34);      series.add(new Day(27, 9, 2007), 8.9, 9.06, 8.83, 8.96);      series.add(new Day(26, 9, 20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值