- 浏览: 37723 次
- 性别:
- 来自: 广州
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
纯CSS精美Button样式收藏 -
wgy_superpower:
为什么我只能用交互式导入,用命令行数据库中数据没反应呢,控制台 ...
exp/imp导出导入工具的使用
下面的柱图实例包括了大多数的柱图类设置
文件名称:index.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.awt.Color,
org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.category.CategoryDataset,
org.jfree.data.general.*,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.axis.CategoryAxis,
org.jfree.chart.axis.ValueAxis,
org.jfree.chart.renderer.category.BarRenderer3D,
org.jfree.chart.urls.StandardCategoryURLGenerator,
org.jfree.chart.*,
org.jfree.chart.entity.*,
org.jfree.chart.labels.*,
org.jfree.chart.axis.CategoryLabelPositions,
java.awt.Font,
java.awt.GradientPaint,
org.jfree.ui.TextAnchor,
org.jfree.chart.axis.NumberAxis,
org.jfree.chart.axis.NumberTickUnit
"%>
<%
java.io.PrintWriter pw=new java.io.PrintWriter(out);
double[][] data = new double[][] {{500}, {200}, {100}, {400}, {600}, {300}};
String[] rowKeys = {"苹果", "梨子", "葡萄", "桔子", "西瓜", "香蕉"};
String[] columnKeys = {""};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
rowKeys,
columnKeys,
data);
JFreeChart chart = ChartFactory.createBarChart3D("水果销量图统计",
"水果", //横坐标名称
"销量", //纵坐标名称
dataset,//数据集合
PlotOrientation.VERTICAL,//图形位置,水平还是垂直
true,
false,
false);
chart.setBackgroundPaint(Color.WHITE);
//设定背景色为白色
CategoryPlot categoryPlot = chart.getCategoryPlot();
//获得 plot:3dBar为CategoryPlot
categoryPlot.setBackgroundPaint(Color.lightGray);
//设定图表数据显示部分背景色
categoryPlot.setDomainGridlinePaint(Color.white);
//横坐标网格线白色
categoryPlot.setDomainGridlinesVisible(true);
//设置网格线可见
categoryPlot.setRangeGridlinePaint(Color.white);
//纵坐标网格线白色
//获取横坐标
CategoryAxis domainAxis = categoryPlot.getDomainAxis();
//设置 横坐标 垂直显示
//domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.4));
//获取纵坐标
NumberAxis numberaxis = (NumberAxis)categoryPlot.getRangeAxis();
//将纵坐标间距设置为50
numberaxis.setTickUnit(new NumberTickUnit(50));
//设置横坐标的标题字体和大小,此处是“宋体13号”
domainAxis.setLabelFont(new Font("宋体",Font.PLAIN,13));
//设置距离图片左端距离,参数为图片的百分比
domainAxis.setLowerMargin(0.05);
//设置距离图片右端距离
domainAxis.setUpperMargin(0.05);
//设置横坐标的坐标值的字体
domainAxis.setTickLabelFont(new Font("宋体",Font.PLAIN,12));
//使横坐标设置生效
categoryPlot.setDomainAxis(domainAxis);
ValueAxis rangeAxis = categoryPlot.getRangeAxis();
//设置最高的一个柱与图片顶端的距离
rangeAxis.setUpperMargin(0.05);
//设置最低的一个柱与图片底端的距离
rangeAxis.setLowerMargin(0.05);
categoryPlot.setRangeAxis(rangeAxis);
//设置竖坐标标签的旋转角度
rangeAxis.setLabelAngle(0.05);
//重要的类,负责生成各种效果
BarRenderer3D renderer=(BarRenderer3D) categoryPlot.getRenderer();
//设置 Wall 的颜色
renderer.setWallPaint(Color.PINK);
//设置每个柱的颜色
GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue,
0.0F, 0.0F, new Color(0, 0, 64)); //设定特定颜色
GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green,
0.0F, 0.0F, new Color(0, 64, 0));
renderer.setSeriesPaint(0, gradientpaint);
renderer.setSeriesPaint(1, gradientpaint1);
//设置柱的 Outline 颜色
renderer.setSeriesOutlinePaint(0, Color.BLACK);
renderer.setSeriesOutlinePaint(1, Color.BLACK);
//设置每个category所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
//显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
//以下设置,将按照指定格式,制定内容显示每个柱的数值。可以显示柱名称,所占百分比
//renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}",new DecimalFormat("0.0%")));
//设置柱子上数值的字体
renderer.setItemLabelFont(new Font("宋体",Font.PLAIN,13));
renderer.setItemLabelsVisible(true);
//设置柱子上数据的颜色
renderer.setItemLabelPaint(Color.RED);
//设置bar的最小宽度,以保证能显示数值
renderer.setMinimumBarLength(0.02);
//最大宽度
//renderer.setMaximumBarWidth(0.07);
//设置柱子上比例数值的显示,如果按照默认方式显示,数值为方向正常显示
//设置柱子上显示的数据旋转90度,最后一个参数为旋转的角度值/3.14
ItemLabelPosition itemLabelPosition= new ItemLabelPosition(
ItemLabelAnchor.INSIDE12,TextAnchor.CENTER_RIGHT,
TextAnchor.CENTER_RIGHT,-1.57D);
//下面的设置是为了解决,当柱子的比例过小,而导致表示该柱子比例的数值无法显示的问题
//设置不能在柱子上正常显示的那些数值的显示方式,将这些数值显示在柱子外面
ItemLabelPosition itemLabelPositionFallback=new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_LEFT,
TextAnchor.HALF_ASCENT_LEFT,-1.57D);
//设置正常显示的柱子label的position
renderer.setPositiveItemLabelPosition(itemLabelPosition);
renderer.setNegativeItemLabelPosition(itemLabelPosition);
//设置不能正常显示的柱子label的position
renderer.setPositiveItemLabelPositionFallback(itemLabelPositionFallback);
renderer.setNegativeItemLabelPositionFallback(itemLabelPositionFallback);
categoryPlot.setRenderer(renderer);
//设置柱子的透明度
categoryPlot.setForegroundAlpha(0.8f);
//为柱图设置“数据挖陷”
//第一个参数是跳转的连接地址
renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator(
"detail.jsp", "fruit", ""));
//使设置生效
renderer.setBaseItemLabelsVisible(true);
//设置柱的透明度
categoryPlot.setForegroundAlpha(0.5f);
//设置地区、销量的显示位置
//plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
//生成图形的名称
//可以改变ServletUtilities源代码,设置图形统一前缀名称和默认存放路径
//注意:图形的大小往往都是通过配置文件设置的,不可能所有图形一个大小
String filename = ServletUtilities.saveChartAsPNG(chart, 800, 600, info, session);
//调用DisplayChart(配置在webxml中),生成图形
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
//将MAP信息,写入图形
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
%>
<table width="100%">
<tr>
<td align="center">
<!-- 生成图形 -->
<img src="<%= graphURL %>" width=800 height=600 border=0 usemap="#<%= filename %>" alt="">
</td>
</tr>
</table>
发表评论
-
纯CSS精美Button样式收藏
2011-06-20 16:16 2865<html> <head> < ... -
sql语句多个表查询之 inner join 用法使用详解 sql语句 inner join 用法
2009-08-05 16:22 8790inner join 连接两个表的用法:现有两个表结构如下文章 ... -
sql server多表关联update
2009-06-25 15:51 2426sql server多表关联update UPDATE Tab ... -
fckeditor 编辑器中,让图片上传后默认锁定图片大小
2009-06-12 11:01 3388关于上传图片大小的问题,如果图片太小或者太大,用户自己不想重新 ... -
JavaScript获取几天的年月日,星期几
2009-06-10 16:05 2881<div id="page_search_ri ... -
非常简单的javascript年-月-日三级联动下拉框
2009-05-31 15:58 1738<html> <head> ... -
sql server日期时间函数
2009-05-27 09:36 1203Sql Server中的日期与时间函数 1. 当前系统日 ... -
内容助手(content assist)的快捷键
2009-05-10 15:03 1314eclipse3.3中把内容助手(content assist ...
相关推荐
本文件属于文章《原生js开发仿ECharts的canvas柱图实例教程》的完整代码,在读完原创文章之后可以下载查看代码。代码中有详细的注释说明,如果有不明白的地方,建议你可以输出数值。html、css、js代码都在同一个文件...
1.将点-圆-圆柱的继承关系用类表示...创建Point类、Circle类和Cylinder类 创建使用该三个类的主类。 注意:每个类至少有两个构造函数和三个方法。 2目的:建立类的层次结构。 创建如下图所示的类 使用类层次结构中的类
AchartEngine柱形实例,便于初学者研究
一个非常重要VC 图像纹理分析实例,分析中涉及能量、惯性矩、熵以及局部平稳性等相关内容。本源代码是书籍中的部分随已源码,非常标准,对C 的研究很有用。
1、柱形表分析投票结果 2、柱形表分析网站流量 3、柱形表分析汽车销售业绩 4、在ASP.NET中使用Office组件创建立体统计图
直方图修正和彩色变换算法代码 直方图修正和彩色变换源代码 指定一种颜色把一幅位图变透明 字幕滚动源代码">包括对图像进行离散余弦变换处理的源代码 对图像进行水平镜像处理的源代码 反走样 Line 对图像进行中值...
.net中WebChar图表实例,有饼图,线图,柱图等等
实例203 设置Word 2000文档及图片的保存路径 实例204 更改Photoshop安装时的登记信息 第8章 数据库技术 8.1 连接数据库 实例205 使用ODBC DSN连接SQL Server数据库 实例206 用ADO动态连接数据库 实例207 连接...
按照比例改变图片大小(非生成缩略图) 收藏主页 数据验证类 数组转换成XML格式 日期计算 是否为电子邮件格式 柱形统计图 检查是否为一个合法的时间格式 检测URL地址有效性 检测文件是否图片 检测是否可以以...
史上最强大的js图表库——ECharts,免费的图标控件,运行速度流畅,画面美观。
一永磁体的磁场仿真实例,能够得出磁场强度磁感应强度等分布
《WIN高级编程》实验实例(程细柱)《WIN高级编程》实验实例(程细柱)《WIN高级编程》实验实例(程细柱)