第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

  • <pre id="ekpf7"><fieldset id="ekpf7"></fieldset></pre>
      為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

      Java系列:JFreeChart在線制作折線圖

      標(biāo)簽:
      Java

      一、概述:
      JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
      二、简介:
      JFreeChart截止2011年2月22日为止的相当不错的java图形解决方案,基本能够解决目前的图形方面的需求。
      JFreeChart Java图表库是一个100%免费的开源项目,使开发人员容易专业质量图表显示在他们的应用程序。 JFreeChart广泛的特性包括:
      一致的和证据确凿的API,支持多种图表类型;
      一个灵活的设计,很容易扩展,和目标服务器端和客户端应用程序;
      支持多种输出类型,包括Swing组件、图像文件(包括PNG和JPEG)和矢量图形文件格式(包括PDF、EPS和SVG);
      JFreeChart是“开源”,或者更具体地说, 自由软件 。 它是分布式的条件下 GNU通用公共许可证 (LGPL),它允许使用专有应用程序。
      三、评价:
      稳定、轻量级且功能强大
      免费开源,但是开发手册和示例要花钱购买
      API处理简单,很容易上手
      生成的图表运行顺畅
      虽然JFreeChart的文档要收费,但好在国内还有很多人在使用JFreeChart,网上可以找到很多相关的使用教程,可以参考。JFreeChart的缺陷就是只适合生成图片,而且文字、图片都不是特别清晰,还需要进行一些调整,比较麻烦。在交互性方面它又比不上Flash图表工具,比如Open Flash Chart、AnyChart、FusionCharts等。
      四、下载和配置:
      下载官方地址:参考应用资料
      解压缩后,将jfreechart-1.0.11.jar、jcommon-1.0.14.jar导入到应用中,就可以进行相关的开发。
      最好下载1.0之前的版本,官方提供了demo。开发文档需要收费的,所以还是在网上查阅相关资料
      五、实例参考:

      import java.awt.Color;
      import java.awt.Font;
      import org.jfree.chart.ChartFactory;
      import org.jfree.chart.ChartFrame;
      import org.jfree.chart.JFreeChart;
      import org.jfree.chart.StandardChartTheme;
      import org.jfree.chart.plot.CategoryPlot;
      import org.jfree.chart.plot.PlotOrientation;
      import org.jfree.data.category.CategoryDataset;
      import org.jfree.data.category.DefaultCategoryDataset;
      
      public class Line {
          public static void main(String[] args) {
              StandardChartTheme mChartTheme = new StandardChartTheme("CN");
              mChartTheme.setLargeFont(new Font("黑体", Font.BOLD, 20));
              mChartTheme.setExtraLargeFont(new Font("宋体", Font.PLAIN, 15));
              mChartTheme.setRegularFont(new Font("宋体", Font.PLAIN, 15));
              ChartFactory.setChartTheme(mChartTheme);
              CategoryDataset mDataset = GetDataset();
              JFreeChart mChart = ChartFactory.createLineChart(
                      "折线图",//图名字
                      "年份",//横坐标
                      "数量",//纵坐标
                      mDataset,//数据集
                      PlotOrientation.VERTICAL,
                      true, // 显示图例
                      true, // 采用标准生成器
                      false);// 是否生成超链接
      
              CategoryPlot mPlot = (CategoryPlot)mChart.getPlot();
              mPlot.setBackgroundPaint(Color.LIGHT_GRAY);
              mPlot.setRangeGridlinePaint(Color.BLUE);//背景底部横虚线
              mPlot.setOutlinePaint(Color.RED);//边界线
      
              ChartFrame mChartFrame = new ChartFrame("折线图", mChart);
              mChartFrame.pack();
              mChartFrame.setVisible(true);
      
          }
          public static CategoryDataset GetDataset()
          {
              DefaultCategoryDataset mDataset = new DefaultCategoryDataset();
              mDataset.addValue(1, "First", "2013");
              mDataset.addValue(3, "First", "2014");
              mDataset.addValue(2, "First", "2015");
              mDataset.addValue(6, "First", "2016");
              mDataset.addValue(5, "First", "2017");
              mDataset.addValue(12, "First", "2018");
              mDataset.addValue(14, "Second", "2013");
              mDataset.addValue(13, "Second", "2014");
              mDataset.addValue(12, "Second", "2015");
              mDataset.addValue(9, "Second", "2016");
              mDataset.addValue(5, "Second", "2017");
              mDataset.addValue(7, "Second", "2018");
              return mDataset;
          }
      }

      图片描述

      import java.awt.Font;
      
      import org.jfree.chart.ChartFactory;
      import org.jfree.chart.ChartFrame;
      import org.jfree.chart.JFreeChart;
      import org.jfree.chart.StandardChartTheme;
      import org.jfree.chart.plot.PlotOrientation;
      import org.jfree.data.xy.XYSeries;
      import org.jfree.data.xy.XYSeriesCollection;
      
      public class XYLine {
          public static void main(String[] args) {
              StandardChartTheme mChartTheme = new StandardChartTheme("CN");
              mChartTheme.setLargeFont(new Font("黑体", Font.BOLD, 20));
              mChartTheme.setExtraLargeFont(new Font("宋体", Font.PLAIN, 15));
              mChartTheme.setRegularFont(new Font("宋体", Font.PLAIN, 15));
              ChartFactory.setChartTheme(mChartTheme);
              XYSeriesCollection mCollection = GetCollection();
              JFreeChart mChart = ChartFactory.createXYLineChart(
                      "折线图",
                      "X",
                      "Y",
                      mCollection,
                      PlotOrientation.VERTICAL,
                      true,
                      true,
                      false);
              ChartFrame mChartFrame = new ChartFrame("折线图", mChart);
              mChartFrame.pack();
              mChartFrame.setVisible(true);
      
          }
          public static XYSeriesCollection GetCollection()
          {
              XYSeriesCollection mCollection = new XYSeriesCollection();
              XYSeries mSeriesFirst = new XYSeries("First");
              mSeriesFirst.add(1.0D, 1.0D);
              mSeriesFirst.add(2D, 4D);
              mSeriesFirst.add(3D, 3D);
              mSeriesFirst.add(4D, 5D);
              mSeriesFirst.add(5D, 5D);
              mSeriesFirst.add(6D, 7D);
              mSeriesFirst.add(7D, 7D);
              mSeriesFirst.add(8D, 8D);
              XYSeries mSeriesSecond = new XYSeries("Second");
              mSeriesSecond.add(1.0D, 5D);
              mSeriesSecond.add(2D, 7D);
              mSeriesSecond.add(3D, 6D);
              mSeriesSecond.add(4D, 8D);
              mSeriesSecond.add(5D, 4D);
              mSeriesSecond.add(6D, 4D);
              mSeriesSecond.add(7D, 2D);
              mSeriesSecond.add(8D, 1.0D);
              mCollection.addSeries(mSeriesFirst);
              mCollection.addSeries(mSeriesSecond);
              return mCollection;
          }
      }

      图片描述

      import java.awt.Color;
      import java.awt.BasicStroke;
      import org.jfree.chart.ChartPanel;
      import org.jfree.chart.JFreeChart;
      import org.jfree.data.xy.XYDataset;
      import org.jfree.data.xy.XYSeries;
      import org.jfree.ui.ApplicationFrame;
      import org.jfree.ui.RefineryUtilities;
      import org.jfree.chart.plot.XYPlot;
      import org.jfree.chart.ChartFactory;
      import org.jfree.chart.plot.PlotOrientation;
      import org.jfree.data.xy.XYSeriesCollection;
      import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
      
      public class XYLineChart_AWT extends ApplicationFrame
      {
          public XYLineChart_AWT( String applicationTitle, String chartTitle )
          {
              super(applicationTitle);
              JFreeChart xylineChart = ChartFactory.createXYLineChart(
                      chartTitle ,
                      "Category" ,
                      "Score" ,
                      createDataset() ,
                      PlotOrientation.VERTICAL ,
                      true , true , false);
      
              ChartPanel chartPanel = new ChartPanel( xylineChart );
              chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 367 ) );
              final XYPlot plot = xylineChart.getXYPlot( );
              XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
              renderer.setSeriesPaint( 0 , Color.RED );
              renderer.setSeriesPaint( 1 , Color.GREEN );
              renderer.setSeriesPaint( 2 , Color.YELLOW );
              renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
              renderer.setSeriesStroke( 1 , new BasicStroke( 3.0f ) );
              renderer.setSeriesStroke( 2 , new BasicStroke( 2.0f ) );
              plot.setRenderer( renderer );
              setContentPane( chartPanel );
          }
      
          private XYDataset createDataset( )
          {
              final XYSeries firefox = new XYSeries( "Firefox" );
              firefox.add( 1.0 , 1.0 );
              firefox.add( 2.0 , 4.0 );
              firefox.add( 3.0 , 3.0 );
              final XYSeries chrome = new XYSeries( "Chrome" );
              chrome.add( 1.0 , 4.0 );
              chrome.add( 2.0 , 5.0 );
              chrome.add( 3.0 , 6.0 );
              final XYSeries iexplorer = new XYSeries( "InternetExplorer" );
              iexplorer.add( 3.0 , 4.0 );
              iexplorer.add( 4.0 , 5.0 );
              iexplorer.add( 5.0 , 4.0 );
              final XYSeriesCollection dataset = new XYSeriesCollection( );
              dataset.addSeries( firefox );
              dataset.addSeries( chrome );
              dataset.addSeries( iexplorer );
              return dataset;
          }
      
          public static void main( String[ ] args )
          {
              XYLineChart_AWT chart = new XYLineChart_AWT("Browser Usage Statistics", "Which Browser are you using?");
              chart.pack( );
              RefineryUtilities.centerFrameOnScreen( chart );
              chart.setVisible( true );
          }
      }

      图片描述

      點(diǎn)擊查看更多內(nèi)容
      6人點(diǎn)贊

      若覺得本文不錯(cuò),就分享一下吧!

      評(píng)論

      作者其他優(yōu)質(zhì)文章

      正在加載中
      感謝您的支持,我會(huì)繼續(xù)努力的~
      掃碼打賞,你說多少就多少
      贊賞金額會(huì)直接到老師賬戶
      支付方式
      打開微信掃一掃,即可進(jìn)行掃碼打賞哦
      今天注冊有機(jī)會(huì)得

      100積分直接送

      付費(fèi)專欄免費(fèi)學(xué)

      大額優(yōu)惠券免費(fèi)領(lǐng)

      立即參與 放棄機(jī)會(huì)
      微信客服

      購課補(bǔ)貼
      聯(lián)系客服咨詢優(yōu)惠詳情

      幫助反饋 APP下載

      慕課網(wǎng)APP
      您的移動(dòng)學(xué)習(xí)伙伴

      公眾號(hào)

      掃描二維碼
      關(guān)注慕課網(wǎng)微信公眾號(hào)

      舉報(bào)

      0/150
      提交
      取消