Spark之路 --- Scala用JFreeChart画图表实例

JFreeChart介绍

JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。

JFreeChart及与其相关的依赖包下载

因为公司网络不能连能SBT或Maven相关的服务器,所以不能使用构建工具来构建一个Scala项目,只能把所有的相关Jar包下载到本地再引用到项目中。

1.在Maven官方仓库搜索JFreeChart并选择相应的版本Jar下载 传送门

2.在当前页面中找到所有相关的依赖并下载相应的Jar

JFreeChart使用

1.新建一个名为ScalaCharting的新Scala项目

2.把刚刚下载的那几个Jar包添加引用到新项目中

当前项目点击鼠标右键Properties->Java Build Path->Libraries->Add External JARs...

 

 

3.新建一个Scala类:Charting 

import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

object RunningCharting {
  def main(args: Array[String]) {
    val chart = new Charting("Testing Yield",
      "Yield of Testing vs Hours")
    chart.pack();
    RefineryUtilities.centerFrameOnScreen(chart);
    chart.setVisible(true);
  }
}

class Charting(applicationTitle: String) extends ApplicationFrame(applicationTitle) {
  
  def this(applicationTitle: String, chartTitle: String) {
    this(applicationTitle);
    
    val lineChart = ChartFactory.createLineChart(chartTitle,
      "Hours", "Yield of Testing", createDataset(),
      PlotOrientation.VERTICAL, true, true, false)

    val chartPanel = new ChartPanel(lineChart)
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 367))
    setContentPane(chartPanel)
  }

  def createDataset(): DefaultCategoryDataset = {
    val dataset = new DefaultCategoryDataset();
    dataset.addValue(81, "Yield", "10");
    dataset.addValue(90, "Yield", "11");
    dataset.addValue(78, "Yield", "12");
    dataset.addValue(85, "Yield", "13");
    dataset.addValue(82, "Yield", "14");
    dataset.addValue(80, "Yield", "15");
    return dataset;
  }
}

4.运行效果

 

  

posted @ 2015-11-23 14:22  keitsi  阅读(2115)  评论(0编辑  收藏  举报