首页 > 报表应用系列——图表JFreeChart: 第 4 章 折线图

报表应用系列——图表JFreeChart: 第 4 章 折线图

双击代码全选
1
2
3
4
5
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
dataset.addValue(100, "Jan", "Spring Security"); 
dataset.addValue(150, "Jan", "jBPM 4"); 
dataset.addValue(300, "Jan", "Ext JS"); 
dataset.addValue(100, "Jan", "JFreeChart"); 

 

  如果我们只画一条折线时,确保第二个参数是一致的。

  下一步使用createLineChart创建图表。

 

双击代码全选
1
2
3
4
5
6
7
8
9
10
JFreeChart chart = ChartFactory.createLineChart( 
  "chart",          // 标题 
  "num",           // 横坐标 
  "type",           // 纵坐标 
  dataset,          // 数据 
  PlotOrientation.VERTICAL,  // 竖直图表 
  true,            // 是否显示legend 
  false,           // 是否显示tooltip 
  false            // 是否使用url链接 
); 

 

  最后通过ChartUtilities将报表导出成图片。

  图 4.1. 简单折线图

  4.2. 三维折线图

  把createLineChart换成createLineChart3D就可以实现三维折线图。

  图 4.2. 三维折线图

  4.3. 多重折线图

  在CategoryDataset中设置多个分组即可显示为多重折线图。

 

双击代码全选
1
2
3
4
5
6
7
8
dataset.addValue(100, "Jan", "Spring Security"); 
dataset.addValue(150, "Jan", "jBPM 4"); 
dataset.addValue(300, "Jan", "Ext JS"); 
dataset.addValue(100, "Jan", "JFreeChart"); 
dataset.addValue(200, "Fer", "Spring Security"); 
dataset.addValue(120, "Fer", "jBPM 4"); 
dataset.addValue(240, "Fer", "Ext JS"); 
dataset.addValue(40, "Fer", "JFreeChart"); 

 

  图 4.3. 多重折线图

  4.4. 设置折线样式

  设置节点的样式。

 

双击代码全选
1
2
renderer.setBaseShapesVisible(true); 
renderer.setShape(new Ellipse2D.Double(-2, -2, 4, 4)); 

 

  显示数值

 

双击代码全选
1
2
renderer.setItemLabelsVisible(true); 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 

 

  显示虚线

 

双击代码全选
1
2
renderer.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT, 
    BasicStroke.JOIN_MITER, 10.0f, new float[] {10.0f}, 0.0f)); 

 

  只要会用awt,想要什么样的图形都可以画出来。

  图 4.4. 设置折线样式

转载于:https://www.cnblogs.com/meimao5211/p/3262016.html

更多相关: