sparkline.php

来自「一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:」· PHP 代码 · 共 97 行

PHP
97
字号
<?php/** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later * @version $Id: OpenFlashChart.php 386 2008-03-18 19:27:54Z julien $ * * @package Piwik_Visualization */require_once 'sparkline/lib/Sparkline_Line.php';/** * Renders a sparkline image given a PHP data array. * Using the Sparkline PHP Graphing Library sparkline.org  *  * @package Piwik_Visualization */class Piwik_Visualization_Sparkline implements Piwik_iView{	/**	 * Sets data. Must have format: array( array('value' => X),array('value' =>Y ), ...)	 *	 * @param array $data	 */	function setData($data)	{		$this->data = $data;		$this->width = self::getWidth();		$this->height = self::getHeight();	}		static public function getWidth()	{		return 100;	}		static public function getHeight()	{		return 20;	}		function main()	{		$data = $this->data;		$sparkline = new Sparkline_Line();		$sparkline->SetColor('lineColor', 22,44,74); // dark blue		$sparkline->SetColorHtml('red', '#FF7F7F');		$sparkline->SetColorHtml('blue', '#55AAFF');		$sparkline->SetColorHtml('green', '#75BF7C');				$data = array_reverse($data);		$min = $max = $last = null;		$i = 0;				foreach($this->data as $row)		{			$value = $row['value'];			$sparkline->SetData($i, $value);			if(	null == $min || $value <= $min[1])			{				$min = array($i, $value);			}					if(null == $max || $value >= $max[1]) 			{				$max = array($i, $value);			}					$last = array($i, $value);			$i++;					}				$sparkline->SetYMin(0);		$sparkline->SetPadding(2); // setpadding is additive		$sparkline->SetPadding(0,//13 font height 					3, //4 * (strlen("$last[1]")), 					0, //imagefontheight(FONT_2), 					0);		$font = FONT_2;		$sparkline->SetFeaturePoint($min[0]-1,  $min[1],  'red', 5);		$sparkline->SetFeaturePoint($max[0]-1,  $max[1],  'green', 5);		$sparkline->SetFeaturePoint($last[0]-1, $last[1], 'blue',5);		$sparkline->SetLineSize(3); // for renderresampled, linesize is on virtual image		$sparkline->RenderResampled($this->width, $this->height, 'lineColor');				$this->sparkline = $sparkline;	}		function render()	{		$this->sparkline->Output();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?