package com.jfreechart; import java.awt.Color; import java.awt.Font; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.chart.title.TextTitle; import org.jfree.data.category.DefaultCategoryDataset; /** * * @ClassName: JFreeChart_LineChart * @author xialong * @date Jan 25, 2011 5:30:04 PM * @Description: * JFreeChart生成折线图 */ public class JFreeChart_LineChart { public static void main(String[] arg){ try { print(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 输出图片 * @throws IOException */ public static void print() throws IOException{ FileOutputStream fos = new FileOutputStream("D://jfreechart//LineChart"+System.currentTimeMillis()+".jpg"); ChartUtilities.writeChartAsJPEG(fos,//输出到那个流, 1, //图片质量,0~1 getJFreeChart(), //图表对象 800,//宽 600,//高 null//ChartRenderingInfo信息 ); fos.close(); } /** * 产生JFreeChart对象 * * @return */ public static JFreeChart getJFreeChart() { JFreeChart imgChart=null; // JFreeChart对象 参数:标题,目录轴显示标签,数值轴显示标签,数据集,是否显示图例,是否生成工具,是否生成URL连接 //平面 imgChart = ChartFactory.createLineChart("", "X轴", "Y轴", getDataSet(), PlotOrientation.VERTICAL, true, true, false); //3D // imgChart = ChartFactory.createLineChart3D("", "X轴", "Y轴", // getDataSet(), PlotOrientation.VERTICAL, true, true, false); imgChart.setBackgroundPaint(Color.white); imgChart.setBorderVisible(true);// 边框可见 TextTitle title = new TextTitle("测试曲线图", new Font("宋体", Font.BOLD, 20)); // 解决曲线图片标题中文乱码问题 imgChart.setTitle(title); //解决图表底部中文乱码问题 imgChart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); CategoryPlot categoryplot = (CategoryPlot) imgChart.getPlot(); categoryplot.setBackgroundPaint(Color.lightGray); categoryplot.setRangeGridlinePaint(Color.white); // Y轴 NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); setNumberAxis(numberaxis); // x轴 CategoryAxis domainAxis = (CategoryAxis) categoryplot.getDomainAxis(); setDomainAxis(domainAxis); LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) categoryplot .getRenderer();// 数据点 // series 点(即数据点)可见 lineandshaperenderer.setBaseShapesVisible(true); // 显示数据点的数据 lineandshaperenderer .setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); // 显示折线图点上的数据 lineandshaperenderer.setBaseItemLabelsVisible(true); return imgChart; } /** * 设置X轴 * @param domainAxis */ private static void setDomainAxis(CategoryAxis domainAxis){ // 解决x轴坐标上中文乱码 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); // 解决x轴标题中文乱码 domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 14)); // 用于显示X轴刻度 domainAxis.setTickMarksVisible(true); //设置X轴45度 domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); } /** * 设置Y轴 * @param numberAxis */ private static void setNumberAxis(NumberAxis numberaxis){ numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); // 是否显示零点 numberaxis.setAutoRangeIncludesZero(true); numberaxis.setAutoTickUnitSelection(false); // 解决Y轴标题中文乱码 numberaxis.setLabelFont(new Font("sans-serif", Font.PLAIN, 14)); // numberaxis.setTickUnit(new NumberTickUnit(10000));//Y轴数据间隔 } /** * 产生数据源 * * @return */ private static DefaultCategoryDataset getDataSet() { DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset(); int i = 0; Random rand = new Random(); while (i < 3) { for (int j = 1; j < 10; j++) { defaultcategorydataset.addValue(rand.nextInt(10), "series" + i, "x轴"+j); } i++; } return defaultcategorydataset; } }
输入图片如下:
您还没有登录,请您登录后再发表评论
3. **线图(Line Chart)**:线图适用于展示数据随时间的变化趋势。JFreeChart的线图可以是单线或多线,且支持曲线和折线样式。 4. **散点图(Scatter Plot)**:散点图用于表示两个变量之间的关系,每个点代表一个...
通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折线图。如果想生成普通效果的折线图,需要通过工厂类ChartFactory的createLineChart()方法获得JFreeChart类的实例;如果想生成3D效果的折线图...
1. **图表类型**:JFreeChart支持多种图表类型,如条形图(BarChart)、饼图(PieChart)、线形图(LineChart)、面积图(AreaChart)、散点图(ScatterPlot)和甘特图(GanttChart)等,这些图表类型可以满足数据...
在曲线走势图的实现中,JFreeChart的LineChart类是关键,它能根据数据点绘制出平滑的曲线。 实现曲线走势图的具体步骤如下: 1. 引入依赖:在项目中添加JFreeChart的库,可以通过Maven或Gradle等构建工具引入相应...
- **线图(Line Chart)**:用于展示数据随时间的变化趋势。 - **散点图(Scatter Plot)**:显示两个变量之间的关系。 - **面积图(Area Chart)**:强调数据区域的大小,常用于表示累计值。 - **甘特图(Gantt ...
在Java编程领域,创建数据可视化图表是常见的需求,其中折线图(LineChart)是一种直观展示数据趋势和变化的有效方式。本项目名为"LineChart:一个简单的折线图",显然是一个专注于展示如何在Java环境下生成简单折线...
JFreeChart是一款开源的Java图表库,为开发者提供了丰富的图表制作功能,包括饼图(Pie Chart)、条形图(Bar Chart)、线图(Line Chart)、散点图(Scatter Plot)、时间序列图(Time Series Chart)、甘特图...
JFreeChart GUI example
ChartUtilities.saveChartAsPNG(new File(CHART_PATH + "line_chart.png"), chart, 500, 300); } catch (Exception e) { e.printStackTrace(); } ``` #### 八、总结 以上内容介绍了如何使用`jfreechart`生成五种...
- **线图(Line Chart)**:展示数据随时间的变化趋势,常用于时间序列分析。 - **散点图(Scatter Plot)**:用于展示两个变量之间的关系,通过点的位置反映数据分布。 4. **自定义图表** JFreeChart允许自定义...
1. **多样的图表类型**:JFreeChart支持多种类型的图表,如柱状图(Bar Chart)、饼图(Pie Chart)、线形图(Line Chart)、散点图(Scatter Plot)、面积图(Area Chart)、甘特图(Gantt Chart)等,满足不同数据...
JFreeChart lineChart = ...; // 创建混合图 CombinedDomainCategoryPlot plot = new CombinedDomainCategoryPlot(); plot.add(barChart.getCategoryPlot()); plot.add(lineChart.getXYPlot()); JFreeChart ...
- **折线图(Line Chart)**:适合展示趋势数据,通过连接一系列数据点来表示数据的变化趋势。 - **饼图(Pie Chart)**:用于显示部分与整体之间的比例关系,每个扇区代表一部分数据。 - **柱状图(Bar Chart)*...
- **线图**(Line Chart):讨论了如何配置线条样式、标记和图例。 - **散点图**(Scatter Plot):讲解如何绘制点图,以及如何根据数据点属性调整点的形状和颜色。 - **甘特图**(Gantt Chart):介绍了用于项目...
1. **图表类型**:JFreeChart支持多种图表类型,如折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)、散点图(ScatterPlot)、面积图(AreaChart)等。每个图表类型都有其特定的用途,适用于不同的数据...
1. **多类型的图表**:JFreeChart 支持多种图表类型,包括柱状图(BarChart)、折线图(LineChart)、饼状图(PieChart)、散点图(ScatterPlot)、甘特图(GanttChart)等,满足不同场景下的数据展示需求。...
- **折线图(Line Charts)** - 折线图用于显示数据随时间变化的趋势。 - **特性**: - 支持多个数据系列。 - 支持自定义标记和线条样式。 - 可以显示工具提示和图例。 - 支持动态更新数据。 - **XY图(XY Plots)...
1. **多样的图表类型**:JFreeChart支持多种图表类型,如折线图(Line Chart)、柱状图(Bar Chart)、饼图(Pie Chart)、散点图(Scatter Plot)以及面积图(Area Chart)等,满足不同场景的数据可视化需求。...
2. **图表类型**:JFreeChart 支持多种图表类型,包括条形图(Bar Chart)、饼图(Pie Chart)、线形图(Line Chart)、面积图(Area Chart)、折线图(XY Line Chart)、散点图(Scatter Plot)等,适用于不同的...
相关推荐
3. **线图(Line Chart)**:线图适用于展示数据随时间的变化趋势。JFreeChart的线图可以是单线或多线,且支持曲线和折线样式。 4. **散点图(Scatter Plot)**:散点图用于表示两个变量之间的关系,每个点代表一个...
通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折线图。如果想生成普通效果的折线图,需要通过工厂类ChartFactory的createLineChart()方法获得JFreeChart类的实例;如果想生成3D效果的折线图...
1. **图表类型**:JFreeChart支持多种图表类型,如条形图(BarChart)、饼图(PieChart)、线形图(LineChart)、面积图(AreaChart)、散点图(ScatterPlot)和甘特图(GanttChart)等,这些图表类型可以满足数据...
在曲线走势图的实现中,JFreeChart的LineChart类是关键,它能根据数据点绘制出平滑的曲线。 实现曲线走势图的具体步骤如下: 1. 引入依赖:在项目中添加JFreeChart的库,可以通过Maven或Gradle等构建工具引入相应...
- **线图(Line Chart)**:用于展示数据随时间的变化趋势。 - **散点图(Scatter Plot)**:显示两个变量之间的关系。 - **面积图(Area Chart)**:强调数据区域的大小,常用于表示累计值。 - **甘特图(Gantt ...
在Java编程领域,创建数据可视化图表是常见的需求,其中折线图(LineChart)是一种直观展示数据趋势和变化的有效方式。本项目名为"LineChart:一个简单的折线图",显然是一个专注于展示如何在Java环境下生成简单折线...
JFreeChart是一款开源的Java图表库,为开发者提供了丰富的图表制作功能,包括饼图(Pie Chart)、条形图(Bar Chart)、线图(Line Chart)、散点图(Scatter Plot)、时间序列图(Time Series Chart)、甘特图...
JFreeChart GUI example
ChartUtilities.saveChartAsPNG(new File(CHART_PATH + "line_chart.png"), chart, 500, 300); } catch (Exception e) { e.printStackTrace(); } ``` #### 八、总结 以上内容介绍了如何使用`jfreechart`生成五种...
- **线图(Line Chart)**:展示数据随时间的变化趋势,常用于时间序列分析。 - **散点图(Scatter Plot)**:用于展示两个变量之间的关系,通过点的位置反映数据分布。 4. **自定义图表** JFreeChart允许自定义...
1. **多样的图表类型**:JFreeChart支持多种类型的图表,如柱状图(Bar Chart)、饼图(Pie Chart)、线形图(Line Chart)、散点图(Scatter Plot)、面积图(Area Chart)、甘特图(Gantt Chart)等,满足不同数据...
JFreeChart lineChart = ...; // 创建混合图 CombinedDomainCategoryPlot plot = new CombinedDomainCategoryPlot(); plot.add(barChart.getCategoryPlot()); plot.add(lineChart.getXYPlot()); JFreeChart ...
- **折线图(Line Chart)**:适合展示趋势数据,通过连接一系列数据点来表示数据的变化趋势。 - **饼图(Pie Chart)**:用于显示部分与整体之间的比例关系,每个扇区代表一部分数据。 - **柱状图(Bar Chart)*...
- **线图**(Line Chart):讨论了如何配置线条样式、标记和图例。 - **散点图**(Scatter Plot):讲解如何绘制点图,以及如何根据数据点属性调整点的形状和颜色。 - **甘特图**(Gantt Chart):介绍了用于项目...
1. **图表类型**:JFreeChart支持多种图表类型,如折线图(LineChart)、柱状图(BarChart)、饼图(PieChart)、散点图(ScatterPlot)、面积图(AreaChart)等。每个图表类型都有其特定的用途,适用于不同的数据...
1. **多类型的图表**:JFreeChart 支持多种图表类型,包括柱状图(BarChart)、折线图(LineChart)、饼状图(PieChart)、散点图(ScatterPlot)、甘特图(GanttChart)等,满足不同场景下的数据展示需求。...
- **折线图(Line Charts)** - 折线图用于显示数据随时间变化的趋势。 - **特性**: - 支持多个数据系列。 - 支持自定义标记和线条样式。 - 可以显示工具提示和图例。 - 支持动态更新数据。 - **XY图(XY Plots)...
1. **多样的图表类型**:JFreeChart支持多种图表类型,如折线图(Line Chart)、柱状图(Bar Chart)、饼图(Pie Chart)、散点图(Scatter Plot)以及面积图(Area Chart)等,满足不同场景的数据可视化需求。...
2. **图表类型**:JFreeChart 支持多种图表类型,包括条形图(Bar Chart)、饼图(Pie Chart)、线形图(Line Chart)、面积图(Area Chart)、折线图(XY Line Chart)、散点图(Scatter Plot)等,适用于不同的...