`
commando
  • 浏览: 77868 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OpenFlashChart 最大值

    博客分类:
  • Java
阅读更多

  

    OpenFlashChart是一款基于flash的图表软件,它的最大优点是输出的图具有flash动态特性,用户比较乐于接受。

  

    目前2.0版中仍没有解决图表Y轴的最大值问题,下面把解决的办法贴出来。

 

    1. 先定义一个类Ymax,包含两个属性:最大值和步长

 

package org.wti.openflashchart;

public class Ymax {
	private int maxValue; // Y轴最大值
	private int stepValue; // Y轴步进值

	public int getMaxValue() {
		return maxValue;
	}

	public void setMaxValue(int maxValue) {
		this.maxValue = maxValue;
	}

	public int getStepValue() {
		return stepValue;
	}

	public void setStepValue(int stepValue) {
		this.stepValue = stepValue;
	}

}

 

 

 

    2. 写个工具类,getYMax方法的输入为List<String>,输出为Ymax

 

 
package org.wti.openflashchart;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.springframework.util.StringUtils;

public class YmaxUtil {
	Ymax ymax;

	/**
	 * 在图表数据list中取出最大值
	 * 
	 * @param dataList
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public String getMaxValue(List<String> dataList) {
		ContentComparator comp = new ContentComparator();
		Collections.sort(dataList, comp);
		for (int i = 0; i < dataList.size(); i++) {
			String content = dataList.get(i);
		}
		if (dataList.size() > 0)
			return dataList.get(dataList.size() - 1);
		else
			return "";
	}

	/**
	 * 计算出合适的Y轴最大值、步长
	 * 算法参考“http://forums.openflashchart.com/viewtopic.php?f=4&t=896&p=3572&hilit=axis#p3572”
	 * 
	 * @param max
	 * @return
	 */
	public Ymax getYMax(List<String> dataList) {

         // 先取出list最大值
		String strMax = this.getMaxValue(dataList); 
		if (!StringUtils.hasText(strMax)) {
			ymax.setMaxValue(20);
			ymax.setStepValue(5);
			return ymax;
		}

		double max = new Double(strMax);
		double orderOfMagnitude = Math.pow(10, Math.floor(Math.log(max) / Math.log(10)));
		double unit = Math.floor(max / orderOfMagnitude);
		double stepValue = orderOfMagnitude;

		if (unit < 2) {
			stepValue /= 2;
		} else {
			if (unit > 5)
				stepValue *= 2;
		}

		double maxValue = Math.ceil(max / stepValue) * stepValue;
		double steps = Math.ceil(max / stepValue);
		ymax.setMaxValue(new Double(maxValue).intValue());
		ymax.setStepValue(new Double(steps).intValue());
		return ymax;
	}

	public static void main(String args[]) {

		List<String> dataList = new ArrayList<String>();
		dataList.add("13");
		dataList.add("90");
		dataList.add("122");
		dataList.add("32");
		dataList.add("35");

		YmaxUtil ymaxUtil = new YmaxUtil();
		Ymax ymax = ymaxUtil.getYMax(dataList);

		System.out.println("Ymax==========" + ymax.getMaxValue()); 
		System.out.println("Step==========" + ymax.getStepValue()); 
	}

	public Ymax getYmax() {
		return ymax;
	}

	public void setYmax(Ymax ymax) {
		this.ymax = ymax;
	}

}

 

 

 

   

     3.  在输出图表的时,设置最大值及步长

 

Graph g = new Graph();
...
Ymax ymax = ymaxUtil.getYMax(DataList); // DataList是你的数据
g.set_y_max(ymax.getMaxValue());
g.y_label_steps(ymax.getStepValue());
...

 

    效果图如下:

    

  • 大小: 24.1 KB
0
0
分享到:
评论

相关推荐

    Openflashchart

    OpenFlashChart是一款强大的开源图表库,它主要用于生成高质量的、互动的Flash图表。这款图表库在ASP.NET环境中尤其受欢迎,因为它允许开发者轻松地在Web应用中集成动态、美观的图表,而无需深入学习复杂的Flash编程...

    OpenFlashChart实例 + 详细讲解

    OpenFlashChart是一款强大的开源JavaScript图表库,用于在Web页面上创建动态、美观的图表。它使用Flash技术,但通过JavaScript接口与网页交互,使得开发者能够轻松地生成各种类型的图表,如折线图、柱状图、饼图、...

    OpenFlashChart 代码及例子

    OpenFlashChart是一款强大的图表生成库,专为网页开发者设计,特别是在Java环境中用于JSP应用。它利用Flash技术创建美观、动态且交互式的图表,能够帮助开发者轻松地在网站上展示数据,提供丰富的可视化效果。这款...

    openflashchart的.NET dll及js文件

    OpenFlashChart是一款强大的开源图表库,它允许开发者创建丰富的、交互式的Flash图表,适用于Web应用程序。在.NET环境中,可以通过使用其对应的DLL文件来与服务器端代码进行交互,从而生成动态图表。本文将深入探讨...

    java开发 openflashchart 的demo 文档

    其中,OpenFlashChart是一款广泛使用的开源库,它允许开发者通过简单的API生成高质量的Flash图表。本篇将详细介绍OpenFlashChart在Java环境下的应用及其相关知识点。 首先,OpenFlashChart的核心优势在于其能够生成...

    openFlashChart 实例及使用文档.rar

    **OpenFlashChart简介** OpenFlashChart是一款开源的Flash图表库,它允许开发者通过简单的JavaScript API创建出丰富多彩的、交互式的图表。这个库以其强大的自定义能力和丰富的图表类型,被广泛应用于网页报告、...

    OpenFlashChart控件示例

    OpenFlashChart是一款强大的开源Flash图表库,用于生成各种动态、美观的数据可视化图表。这个控件在Web开发中尤其受欢迎,因为它允许开发者通过简单的API创建出交互式的统计图表,且兼容多种编程语言,如PHP、ASP...

    OpenFlashChart所需文件

    OpenFlashChart是一款强大的开源Flash图表库,用于在Web应用程序中创建高质量、交互式的图表。它以其易用性和灵活性而受到开发者的青睐,特别是在需要展示数据可视化时。在提供的压缩包"OpenFlashChart Library"中,...

    OpenFlashChart

    1.动画可交互的图表 2.简单但强大的Javascript集成 3.无需安装 4.简单易用 5.与服务器端语言独立(或说无关) 6.减少服务器端负荷 7.多种图表类型支持 8.完全免费

    openflashchart

    open flash chart的所有图形的josn数据,可以直接使用,根据个人喜好可以自己修改。

    openflashchart C# 示例

    OpenFlashChart是一款强大的开源图表库,它使用Flash技术来生成高质量、交互式的图表。这个C#示例是针对ASP.NET开发者的,展示了如何在.NET环境中集成OpenFlashChart库,以创建动态、美观的数据可视化效果。 在ASP...

    OpenFlashChart组件的使用

    数据结构通常包含图表的各个元素,如轴的值、颜色、标签等。 4. **自定义设置**:OpenFlashChart的一大亮点是其高度的可定制性。你可以调整图表的颜色、大小、背景、线条样式、标签文字等几乎每一个细节。此外,还...

    openflashchart for flex demo

    **OpenFlashChart for Flex 演示** OpenFlashChart 是一款强大的开源图表库,它可以用于在Web应用程序中创建丰富的交互式图表。这个"openflashchart for flex demo"提供了使用Flex框架与OpenFlashChart结合的实例,...

    openflashchart中文文档+demo

    **OpenFlashChart中文文档+Demo** OpenFlashChart是一款强大的开源Flash图表库,它允许开发者创建交互式的、高质量的图表,广泛应用于数据可视化和数据分析。这个压缩包包含的是OpenFlashChart的中文文档、英文文档...

    OpenFlashChart说明.xls

    《OpenFlashChart详解》 OpenFlashChart是一款强大的开源图表库,它使用Flash技术来生成交互式的、美观的数据可视化图表。这个工具广泛应用于Web应用程序中,为开发者提供了丰富的自定义选项,使得创建各种复杂的...

    OpenFlashChart2绘图实例

    OpenFlashChart2是一款开源的Flash图表库,专为创建高质量、互动性丰富的图表而设计。在.NET环境中,我们可以借助OpenFlashChart2库来生成动态的图表,并将其嵌入到网页中,提供数据可视化的能力。本实例是关于如何...

Global site tag (gtag.js) - Google Analytics