标题 没想好

需求:画图 x轴 坐标轴的数据是一个数组,格式为 yyyy-mm-dd,即2011-3-22形式,但是显示在画面上,看到很多2011-xx-xx,这样的数据,很明显其中年号 数据是多余的,将这个数据 去除,但是又要能够区分不同的年份。

 

求解:每年的第一次出现时候,显示全部数据,当以后再出现时候,显示mm-dd即可。

 

又由于针对数组只进行一次循环,故有下解法:

 

$xScaleArray(
  0 => '2009-06',
  1 => '2009-07',
  2 => '2009-08',
  3 => '2009-09',
  4 => '2009-10',
  5 => '2009-11',
  6 => '2009-12',
  7 => '2010-01',
  8 => '2010-02',
  9 => '2010-03',
  10 => '2010-04',
  11 => '2010-05',
  12 => '2010-06',
  13 => '2010-07',
  14 => '2010-08',
  15 => '2010-09',
  16 => '2010-10',
  17 => '2010-11',
  18 => '2010-12',
  19 => '2011-01',
  20 => '2011-02',
)             
		$xSize = count($xScaleArray);
		$part = (float)768.0/($xSize );//是指图x轴的长度
		$intval = 1;
		if($xSize > 10){
			$intval = (float) ($xSize / 10.00);
		}
		$mm = 0;
		$flag = true;
		$year = '2010';//记住年号
		for ($m = 0; $m <= $xSize; $m = $m +$intval) {
			$yAdd = 0;
			$tempValue = $xScaleArray[(int)($m)];
			$arr_1 = split('-',$tempValue);
			if($flag){
				$flag = false;
				$yAdd = 10;
				$year = $arr_1[0];
			}else{
				if($arr_1[0] != $year){
					$year = $arr_1[0];
					$yAdd = 10;
				}else{
					$tempValue = implode(array_slice($arr_1,1),'-');
				}
			} 
 

 

这样后,x轴的所有年份 第一次出现时候 是全年的,以后出现就只会取 mm-dd,效果见附件图。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值