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.运行效果
Keep it simple!