基于JFreeChart的股票交易K线图停牌日期缺口优化完整解决方案

本文介绍了如何使用JFreeChart在绘制股票交易K线图时,处理停牌日期导致的交易数据缺口问题。通过SegmentTimeline和DateAxis等对象,实现了去除周末和特殊节假日的交易数据,保证了K线图的连续性和美观性。解决方案包括使用SegmentTimeline的异常日期处理功能,以及自定义时间线性集合,确保X轴时间的连续性。
摘要由CSDN通过智能技术生成
 JFreeChart绘制K线图停牌日期缺口优化

摘要 这是在绘制股票交易K线图时遇到的一个问题,有关问题的优化方案,与一些具体的实现

方法,以及在这个过程中的心得。

关键词JFreeChartSegmentTimeline 

问题

在绘制股票交易K线图时,遇到如何去除停牌日期的交易数据问题。此问题涉及到两个方面,

周六周日股票停牌无交易日期和特殊假日股票停牌无交易日期。对于周末这个固定的休息日,股 

票是不存在交易数据的,即停牌,在K线图上显示的话就是空白。同样,对于特殊的时间节点

也不存在交易数据,在K线图上也是空白。因此在绘制K线图时,为了保证数据显示的连续性

和美化视角,我们要将这些特殊的日期的横轴坐标从原数据坐标中去掉,或者说隐藏不显示。 

现状分析

在设置K线图的X轴时间线性集合时没有将异常交易日期(即停牌缺口)从时间线性集合

中去除掉。要想实现停牌日期缺口优化,就要设法将缺口日期从时间线性集合去除或使该缺口日 

期隐藏不显示,从而达到K线图的连续不间断,便于统计分析。 

意义 

主要是对停牌日期缺口进行异常处理,以去除掉无交易的日期,保证X轴时间上的连续 

性(有交易),使K线图显示数据变化是连续不间断的,有利于数据分析。

要将停牌缺口从时间线性集合中去除掉,必须涉及到下列相关对象、属性和方法的应用:

SegmentTimeline: 时间线性集合对象,包含已定义的交易时间轴的下限和上限

timeline.setStartTime(SegmentedTimeline.FIRST_MONDAY_AFTER_1900);//设置

时间线起点为1900年(一定要设置起始年份,否则时间轴没有基点,会错乱)

addException(Date date):从已定义的时间轴范围内,去除参数指定日期函数 

DateAxis:时间线性X轴对象

x1Axis.setAutoRange(false);//设置不采用自动设置时间范围

x1Axis.setRange(date1,date2);//设置时间范围 

x1Axis.setTimeline(timeline);//设置X轴时间线性集合 

x1Axis.setAutoTickUnitSelection(false);//设置不采用自动选择刻度值 

    x1Axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);//设置标记的位置

x1Axis.setStandardTickUnits(DateAxis.createStandardDateTickUnits());//

置标准的时间刻度单位

    x1Axis.setTickUnit(newDateTickUnit(DateTickUnit.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值