zoukankan      html  css  js  c++  java
  • 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.运行效果

     

      

  • 相关阅读:
    Do You See Me? Ethical Considerations of the Homeless
    ELDER HOMELESSNESS WHY IS THIS AN ISSUE?
    Endoflife support is lacking for homeless people
    html内联框架
    html字体
    html块 div span
    html列表
    html表格
    SQL Server管理员专用连接的使用   作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情况
    如何配置最大工作线程数 (SQL Server Management Studio)
  • 原文地址:https://www.cnblogs.com/keitsi/p/spark_scala_charting_demo.html
Copyright © 2011-2022 走看看