`
太阳神喻
  • 浏览: 106751 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JFreeChart折线图

阅读更多
 

 		String sql = "select count(id) num, DATE_FORMAT(calltime, '%Y年%m月') ym,modulename mn from  tongji t group by DATE_FORMAT(calltime, '%Y年%m月'),mn";
		List list = getList(sql);
		// 绘图数据集
		DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
		for (Object obj : list) {
			Map<String, Object> map = (Map) obj;
			dataSet.setValue((Long) map.get("num"), (String) map.get("mn"), map.get("ym").toString());
		}
		//如果把createLineChart改为createLineChart3D就变为了3D效果的折线图		
		JFreeChart  chart = ChartFactory.createLineChart("图表标题", "X轴标题", "Y轴标题", dataSet,
				PlotOrientation.VERTICAL, // 绘制方向
				true, // 显示图例
				true, // 采用标准生成器
				false // 是否生成超链接
				);
		chart.getTitle().setFont(titleFont); // 设置标题字体
		chart.getLegend().setItemFont(font);// 设置图例类别字体
		chart.setBackgroundPaint(bgColor);// 设置背景色 
		//获取绘图区对象
		CategoryPlot plot = chart.getCategoryPlot();
		plot.setBackgroundPaint(Color.LIGHT_GRAY); // 设置绘图区背景色
		plot.setRangeGridlinePaint(Color.WHITE); // 设置水平方向背景线颜色
		plot.setRangeGridlinesVisible(true);// 设置是否显示水平方向背景线,默认值为true
		plot.setDomainGridlinePaint(Color.WHITE); // 设置垂直方向背景线颜色
		plot.setDomainGridlinesVisible(true); // 设置是否显示垂直方向背景线,默认值为false
		
		
		CategoryAxis domainAxis = plot.getDomainAxis();   
		domainAxis.setLabelFont(font); // 设置横轴字体
		domainAxis.setTickLabelFont(font);// 设置坐标轴标尺值字体
		domainAxis.setLowerMargin(0.01);// 左边距 边框距离
		domainAxis.setUpperMargin(0.06);// 右边距 边框距离,防止最后边的一个数据靠近了坐标轴。
		domainAxis.setMaximumCategoryLabelLines(2);
		
		ValueAxis rangeAxis = plot.getRangeAxis();
		rangeAxis.setLabelFont(font); 
		rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());//Y轴显示整数
		rangeAxis.setAutoRangeMinimumSize(1);   //最小跨度
		rangeAxis.setUpperMargin(0.18);//上边距,防止最大的一个数据靠近了坐标轴。   
		rangeAxis.setLowerBound(0);   //最小值显示0
		rangeAxis.setAutoRange(false);   //不自动分配Y轴数据
		rangeAxis.setTickMarkStroke(new BasicStroke(1.6f));     // 设置坐标标记大小
		rangeAxis.setTickMarkPaint(Color.BLACK);     // 设置坐标标记颜色

		
		
	 // 获取折线对象
		LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
		BasicStroke realLine = new BasicStroke(1.8f); // 设置实线
		// 设置虚线
		float dashes[] = { 5.0f }; 
		BasicStroke brokenLine = new BasicStroke(2.2f, // 线条粗细
				BasicStroke.CAP_ROUND, // 端点风格
				BasicStroke.JOIN_ROUND, // 折点风格
				8f, dashes, 0.6f); 
		for (int i = 0; i < dataSet.getRowCount(); i++) {
			if (i % 2 == 0)
				renderer.setSeriesStroke(i, realLine); // 利用实线绘制
			else
				renderer.setSeriesStroke(i, brokenLine); // 利用虚线绘制
		}
		
		plot.setNoDataMessage("无对应的数据,请重新查询。");
		plot.setNoDataMessageFont(titleFont);//字体的大小
	    plot.setNoDataMessagePaint(Color.RED);//字体颜色

 平面折线图效果

 

 

3D折线图效果:

  • 大小: 61.9 KB
  • 大小: 84.9 KB
2
0
分享到:
评论
4 楼 hllf123 2011-12-06  
如果折线图上拐点显示数据会出现逗号 也就是:48,580  怎么去掉这个逗号呢
3 楼 che.kxuan 2010-09-29  
我想问下折线图可以添加超链接么?应该怎么实现?
2 楼 form_rr 2010-04-04  
不错,最近也在搞这个!
不过要多条Y轴!
1 楼 yexin218 2010-04-03  
  

相关推荐

    jfreechart 折线图的一个例子

    **JFreeChart 折线图实例详解** JFreeChart 是一个强大的 Java 图形库,它提供了丰富的图表类型,包括折线图、柱状图、饼图等,适用于各种数据分析和展示场景。在这个例子中,我们将深入探讨如何使用 JFreeChart ...

    jfreechart折线图demo

    在这个“jfreechart折线图demo”中,我们将深入探讨如何使用 JFreeChart 创建和展示折线图。 1. **JFreeChart 概述** JFreeChart 提供了一套完整的 API,使得开发者可以方便地生成高质量的静态图表,并能轻松地将...

    jfreechart 折线图 应用

    该程序为main 函数,定义了三个方法,分别是jfreechart三种实现折线图的类型,返回的是一个chart 本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以...

    jfreechart折线图读取数据库数据的显示(mysql)

    在Java编程环境中,JFreeChart库是一个非常强大的工具,用于创建各种类型的图表,包括折线图、柱状图、饼图等。本教程将详细讲解如何利用JFreeChart结合MySQL数据库来生成动态折线图,展示数据库中的数据。 首先,...

    jfreechart折线图.zip

    ValueStack vs=(ValueStack)request.getAttribute("struts.valueStack"); List list=(List)vs.findValue("list"); Iterator itor=list.iterator(); while(itor.hasNext()) { ... &lt;%} %&gt;

    jfreechart 漂亮的折线图

    利用jfreechart绘制的漂亮的折线图,实现双纵坐标,折线点标签还带箭头指示,非常直观,需要提前下载jfreechart.jar文件,否则我的类会报错,也即是要配置运行环境

    JFreeChart 折线、柱状组合图

    public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 &lt;!--begin 维优特例 --&gt; ...

    JSP利用JFreeChart生成折线图

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而JFreeChart则是一个强大的Java图表库,能够帮助开发者生成各种复杂的图表,包括折线图。本教程将详细介绍如何在JSP中利用JFreeChart库来...

    jfreechart 堆栈柱状图跟折线图结合拼接

    jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707

    JFreeChart折线图的生成方法

    JFreeChart折线图的生成方法 JFreeChart是一款功能强大且广泛使用的图表类库,它可以生成多种类型的图表,如饼图、柱状图、散点图、时序图、甘特图等等。今天,我们将详细介绍JFreeChart折线图的生成方法。 首先,...

    JFreeChart饼图、折线图等资料学习

    JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括饼图、折线图、柱状图、散点图以及更多其他类型的图表。这个资料包包含了JFreeChart的核心库(jfreechart-1.0.16.jar)和其依赖库JCommon...

    JFreeChart双Y轴折线图实例,可以直接运行

    JFreeChart双Y轴折线图实例,可以直接运行,实例类为LineChartDemo1.JAVA,有注释。 若想在web工程使用只需如下。 String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session); ...

    jfreechart 折线图、饼状图、柱状图

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括折线图、饼状图和柱状图等,这些图表广泛应用于数据分析、报表展示以及Web应用程序中。本项目提供了一个实例,展示了如何在Web页面上使用...

    jfreechart根据24小时数据画折线图

    ### jfreechart根据24小时数据画折线图 #### 一、jfreechart简介 jfreechart是一款基于Java的开源图表绘制库,它能够帮助开发者轻松地在应用程序中生成各种图表,包括折线图、饼图、柱状图等。它的主要优势在于...

    jfreechart绘制折线图(平面和3D)

    JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括折线图、柱状图、饼图、散点图等。在本主题中,我们将深入探讨如何使用JFreeChart来绘制平面和3D的折线图。 首先,让我们了解折线图的基本...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...

    java JXL导入导出Excel源码及jfreechart 生成折线图,饼图

    java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图

    JFreeChart 让X轴的标题竖着显示

    在Java编程环境中,JFreeChart库是一个非常强大的工具,用于创建各种类型的图表,如柱状图、饼图、线图等。如果你需要让X轴的标题在图表中竖直显示,而不是默认的水平显示,这通常是为了更好地适应有限的空间或者...

    jfreechart绘制的风速风向玫瑰图

    jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart的基本结构。jfreechart的核心是...

Global site tag (gtag.js) - Google Analytics