`
yongguang423
  • 浏览: 110594 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

Jfreechart多轴折线图

阅读更多
import java.awt.Color;
import java.awt.Font;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.HorizontalAlignment;
import org.jfree.ui.RectangleEdge;

public class MultiAxises {

	XYSeriesCollection dataset1;
	XYSeriesCollection dataset2;
	XYSeriesCollection dataset3;
	JFreeChart chart;
	XYPlot plot;
	
	public MultiAxises() {
		// 生成数据
		XYSeries series1 = new XYSeries("系列1");
		series1.add(1, 2);
		series1.add(2, 4);
		series1.add(7, 6);

		XYSeries series2 = new XYSeries("系列2");
		series2.add(5, 2);
		series2.add(3, 4);
		series2.add(7, 3);

		XYSeries series3 = new XYSeries("系列3");
		series3.add(3, 2);
		series3.add(5, 4);
		series3.add(4, 6);

		dataset1 = new XYSeriesCollection();
		dataset2 = new XYSeriesCollection();
		dataset3 = new XYSeriesCollection();
		
		dataset1.addSeries(series1);
		dataset2.addSeries(series2);
		dataset3.addSeries(series3);

		chart = ChartFactory.createXYLineChart("MultiAxis", "X axis",
				"First Y Axis", dataset1, PlotOrientation.VERTICAL, true, true,
				false);

		plot = chart.getXYPlot();

		
		// 添加第2个Y轴
		
		NumberAxis axis2 = new NumberAxis("Second Axis");
			// -- 修改第2个Y轴的显示效果
		axis2.setAxisLinePaint(Color.BLUE);
		axis2.setLabelPaint(Color.BLUE);
		axis2.setTickLabelPaint(Color.BLUE);
		
		plot.setRangeAxis(1, axis2);
		plot.setDataset(1, dataset2);
		plot.mapDatasetToRangeAxis(1, 1);
		     // -- 修改第2条曲线显示效果
		XYLineAndShapeRenderer render2 =  new XYLineAndShapeRenderer();	
		render2.setSeriesPaint(0, Color.BLUE);
		plot.setRenderer(1, render2);
		
		
		// 添加第3个Y轴
		NumberAxis axis3 = new NumberAxis("Third Axis");
		
		axis3.setAxisLinePaint(Color.GREEN);
		axis3.setLabelPaint(Color.GREEN);
		axis3.setTickLabelPaint(Color.GREEN);
		
		plot.setRangeAxis(2, axis3);
		plot.setDataset(2, dataset3);
		plot.mapDatasetToRangeAxis(2, 2);
		
		XYLineAndShapeRenderer render3 =  new XYLineAndShapeRenderer();	
		render3.setSeriesPaint(0, Color.GREEN);
		plot.setRenderer(2, render3);
		
		
		TextTitle copyright = new TextTitle(" 小龙飞翔@Java Eye    ");
		copyright.setPosition(RectangleEdge.BOTTOM);
		copyright.setHorizontalAlignment(HorizontalAlignment.RIGHT);
		copyright.setFont(new Font("黑体", 12, 12));
		chart.addSubtitle(copyright);
		chart.getLegend().setItemFont(new Font("黑体", 12, 12));
	}

	public static void main(String[] agrs) {
		MultiAxises obj = new MultiAxises();
		ChartFrame frame = new ChartFrame("多坐标轴", obj.chart);
		frame.pack();
		frame.setVisible(true);
	}

}

 

分享到:
评论

相关推荐

    JFreeChart 折线、柱状组合图

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

    基于JFreeChart的股票交易K线图停牌日期缺口优化完整解决方案

    JFreeChart是Java平台上的一个开源图表库,提供多种类型的图表,包括折线图、饼图、散点图以及我们关注的K线图。通过JFreeChart,我们可以自定义K线图的绘制逻辑,实现停牌期间的数据填充,使图表连续显示,增强分析...

    java 实现饼状图、柱状图、折线图

    JFreeChart的`XYPlot`类则允许我们创建具有复杂特性的折线图,如散点图、区域图等。 在实际应用中,我们可能需要从数据库或文件中读取数据,然后使用Java的数据处理库,如Apache Commons Math,进行计算和预处理。...

    JFreeChart 1.0.9 开发文档

    JFreeChart支持基于分类数据集和XY数据集的折线图,可以根据需求进行高度定制。 **2.5 XY图** XY图是另一种类型的折线图,特别适用于展示两个变量之间的关系。JFreeChart提供了丰富的功能来创建和定制XY图。 **...

    jfreechart中文学习文档

    JFreeChart 支持多种类型的折线图,如简单折线图、时间序列折线图等。 **2.5 XY 图** XY 图适用于需要精确控制坐标轴的场景,如科学数据可视化。JFreeChart 的 XY 图功能强大,能够满足大多数需求。 **2.6 时间...

    java报表jfreechart开发

    JFreeChart是一款免费且开源的Java图表库,它提供了多种类型的图表绘制功能,如饼图、条形图、折线图等。JFreeChart适用于各种Java应用程序中,包括但不限于桌面应用、Web应用以及移动应用。它不仅能够生成高质量的...

    jfreechart-1.0.9-install.pdf

    JFreeChart 支持创建标准折线图、时序折线图等多种类型的折线图。 ##### 3.4 XY 图 (XY Plots) XY 图可用于展示两个变量之间的关系。JFreeChart 提供了多种 XY 图样式,如散点图、气泡图等。 ##### 3.5 时间序列...

    JFreeChart示例

    这个库广泛应用于数据分析、报表和可视化应用中,支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特图等。在"JFreeChart示例"中,我们将会深入探讨如何利用 JFreeChart 创建这些图表,并以Web方式展示它们...

    JFreeChart讲义

    1. **组合图表**:JFreeChart 支持将多种类型的图表组合在一个图表中,比如将折线图与柱状图结合,以更直观地展示多元数据关系。 2. **折线图**:用于显示数据随时间变化的趋势,是数据分析中最常见的图表之一。...

    JFreeChart编程指南

    JFreeChart提供了灵活的方式来绘制折线图,并支持添加数据标签、调整线条样式等功能。 - **XY坐标图**:适用于展示两个连续变量之间的关系。JFreeChart中的XY坐标图可以用来展示散点图、曲线图等多种图表类型。 - **...

    JFreeChartDeveloperGuide

    - **示例:** 展示了基本的折线图和带标记点的折线图。 **2.5 XY 图 (XY Plots)** - **描述:** XY 图用于显示两个变量之间的关系。 - **示例:** 提供了散点图和带有平滑曲线的 XY 图。 **2.6 时间序列图表 (Time...

    JFreeChart 开发指南

    - **基于分类数据集的折线图**:介绍如何基于分类数据集创建折线图,并给出代码示例。 #### 七、时间序列图表 - **简介**:专门针对时间序列数据设计的图表类型。 - **创建时间序列图表**:提供创建时间序列图表的...

    JFreeChart开发指南1.0.6

    - **折线图 (Line Charts)**:折线图用于显示数据随时间的变化趋势。通过不同的数据集类型,可以创建标准折线图或XY折线图。 - **散点图 (XY Scatter Plots)**:用于显示两个变量之间的关系。每个数据点的位置由其X...

    jfreechart pdf english

    - **区域图(Area Charts)**:类似折线图,但会填充线条下的区域,以更直观地展示数据的累积效果。 - **差异图(Difference Chart)**:突出显示两个数据集之间的差异。 - **阶梯图(Step Chart)**:显示数据在特定点的...

    jfreechart-1.0.0-pre2-install.pdf

    JFreeChart不仅支持常见的图表类型,如饼图、柱状图、折线图等,还支持一些高级图表类型,如时间序列图、散点图、甘特图等。此外,该库还包括了图表自定义样式的功能,允许开发者根据需求调整图表的外观。 #### ...

    Jfreechart 用户手册(Manual)

    - **折线图(Line Chart)**:解释如何创建基本的折线图。 - **XY坐标图(XY Plots)**:展示如何制作XY坐标图,包括散点图和其他基于XY坐标的图表。 - **时间序列图表(Time Series Charts)**:讨论如何使用时间轴...

    jfreechart英文文档

    JFreeChart支持创建标准的折线图以及带误差线的折线图。 **2.5 XY图** XY图(散点图)用于显示两个变量之间的关系。这种图表可以用来识别模式、趋势或者异常值。 **2.6 时间序列图** 时间序列图专门用于显示随...

    jfreechart讲解

    - **折线图(Line Charts)**:支持多数据系列。 - **散点图(Scatter Plots)**:用于展示数据点分布。 - **时间序列图(Time Series Charts)**:包括移动平均、高开低收图(High-Low-Open-Close charts)和蜡烛图...

    JFreeChart 1.0.6 用户开发指南(简体中文)

    3. **折线图(Line Charts)**:展示数据随时间的变化趋势,支持CategoryDataset和XYDataset两种数据集。 4. **XY(散点图)和时序图(Time Series)**:用于显示两个变量之间的关系或时间序列数据。 5. **柱状图...

Global site tag (gtag.js) - Google Analytics