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
分享到:
相关推荐
OpenFlashChart是一款强大的开源图表库,它主要用于生成高质量的、互动的Flash图表。这款图表库在ASP.NET环境中尤其受欢迎,因为它允许开发者轻松地在Web应用中集成动态、美观的图表,而无需深入学习复杂的Flash编程...
OpenFlashChart是一款强大的开源JavaScript图表库,用于在Web页面上创建动态、美观的图表。它使用Flash技术,但通过JavaScript接口与网页交互,使得开发者能够轻松地生成各种类型的图表,如折线图、柱状图、饼图、...
OpenFlashChart是一款强大的图表生成库,专为网页开发者设计,特别是在Java环境中用于JSP应用。它利用Flash技术创建美观、动态且交互式的图表,能够帮助开发者轻松地在网站上展示数据,提供丰富的可视化效果。这款...
OpenFlashChart是一款强大的开源图表库,它允许开发者创建丰富的、交互式的Flash图表,适用于Web应用程序。在.NET环境中,可以通过使用其对应的DLL文件来与服务器端代码进行交互,从而生成动态图表。本文将深入探讨...
其中,OpenFlashChart是一款广泛使用的开源库,它允许开发者通过简单的API生成高质量的Flash图表。本篇将详细介绍OpenFlashChart在Java环境下的应用及其相关知识点。 首先,OpenFlashChart的核心优势在于其能够生成...
**OpenFlashChart简介** OpenFlashChart是一款开源的Flash图表库,它允许开发者通过简单的JavaScript API创建出丰富多彩的、交互式的图表。这个库以其强大的自定义能力和丰富的图表类型,被广泛应用于网页报告、...
OpenFlashChart是一款强大的开源Flash图表库,用于生成各种动态、美观的数据可视化图表。这个控件在Web开发中尤其受欢迎,因为它允许开发者通过简单的API创建出交互式的统计图表,且兼容多种编程语言,如PHP、ASP...
OpenFlashChart是一款强大的开源Flash图表库,用于在Web应用程序中创建高质量、交互式的图表。它以其易用性和灵活性而受到开发者的青睐,特别是在需要展示数据可视化时。在提供的压缩包"OpenFlashChart Library"中,...
1.动画可交互的图表 2.简单但强大的Javascript集成 3.无需安装 4.简单易用 5.与服务器端语言独立(或说无关) 6.减少服务器端负荷 7.多种图表类型支持 8.完全免费
open flash chart的所有图形的josn数据,可以直接使用,根据个人喜好可以自己修改。
OpenFlashChart是一款强大的开源图表库,它使用Flash技术来生成高质量、交互式的图表。这个C#示例是针对ASP.NET开发者的,展示了如何在.NET环境中集成OpenFlashChart库,以创建动态、美观的数据可视化效果。 在ASP...
数据结构通常包含图表的各个元素,如轴的值、颜色、标签等。 4. **自定义设置**:OpenFlashChart的一大亮点是其高度的可定制性。你可以调整图表的颜色、大小、背景、线条样式、标签文字等几乎每一个细节。此外,还...
**OpenFlashChart for Flex 演示** OpenFlashChart 是一款强大的开源图表库,它可以用于在Web应用程序中创建丰富的交互式图表。这个"openflashchart for flex demo"提供了使用Flex框架与OpenFlashChart结合的实例,...
**OpenFlashChart中文文档+Demo** OpenFlashChart是一款强大的开源Flash图表库,它允许开发者创建交互式的、高质量的图表,广泛应用于数据可视化和数据分析。这个压缩包包含的是OpenFlashChart的中文文档、英文文档...
《OpenFlashChart详解》 OpenFlashChart是一款强大的开源图表库,它使用Flash技术来生成交互式的、美观的数据可视化图表。这个工具广泛应用于Web应用程序中,为开发者提供了丰富的自定义选项,使得创建各种复杂的...
OpenFlashChart2是一款开源的Flash图表库,专为创建高质量、互动性丰富的图表而设计。在.NET环境中,我们可以借助OpenFlashChart2库来生成动态的图表,并将其嵌入到网页中,提供数据可视化的能力。本实例是关于如何...