<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 6.6 示例代碼解讀 ### 6.6.1 體會 與餅圖的數據集不同之處在于: 餅圖數據集是key/value二維數據(PieDataset)。而直方條形圖需要三維數據(CategoryDataset)。 ### 6.6.2 類BarChartDemo1.java 功能: 一個簡單的直方條形圖。使用GradientPaint實例對象為每一個系列修改renderer 效果: ![](img/jfc32109.png) 代碼: ``` public class BarChartDemo1 extends ApplicationFrame { private static final long serialVersionUID = 1L; public BarChartDemo1(String string) { super(string); JPanel jpanel = createDemoPanel(); jpanel.setPreferredSize(new Dimension(500, 270)); setContentPane(jpanel); } private static CategoryDataset createDataset() { String string = "First"; String string_0_ = "Second"; String string_1_ = "Third"; String string_2_ = "Category 1"; String string_3_ = "Category 2"; String string_4_ = "Category 3"; String string_5_ = "Category 4"; String string_6_ = "Category 5"; DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset(); defaultcategorydataset.addValue(1.0, string, string_2_); defaultcategorydataset.addValue(4.0, string, string_3_); defaultcategorydataset.addValue(3.0, string, string_4_); defaultcategorydataset.addValue(5.0, string, string_5_); defaultcategorydataset.addValue(5.0, string, string_6_); defaultcategorydataset.addValue(5.0, string_0_, string_2_); defaultcategorydataset.addValue(7.0, string_0_, string_3_); defaultcategorydataset.addValue(6.0, string_0_, string_4_); defaultcategorydataset.addValue(8.0, string_0_, string_5_); defaultcategorydataset.addValue(4.0, string_0_, string_6_); defaultcategorydataset.addValue(4.0, string_1_, string_2_); defaultcategorydataset.addValue(3.0, string_1_, string_3_); defaultcategorydataset.addValue(2.0, string_1_, string_4_); defaultcategorydataset.addValue(3.0, string_1_, string_5_); defaultcategorydataset.addValue(6.0, string_1_, string_6_); return defaultcategorydataset; } private static JFreeChart createChart(CategoryDataset categorydataset) { JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo 1", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false); jfreechart.setBackgroundPaint(Color.WHITE); CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot(); categoryplot.setBackgroundPaint(Color.lightGray); categoryplot.setDomainGridlinePaint(Color.white); categoryplot.setDomainGridlinesVisible(true); categoryplot.setRangeGridlinePaint(Color.white); //刻度軸刻度設置 NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); //renderer設置 BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer(); barrenderer.setDrawBarOutline(false);//設置外廓線不可見 GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64)); GradientPaint gradientpaint_7_ = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0)); GradientPaint gradientpaint_8_ = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0)); barrenderer.setSeriesPaint(0, gradientpaint); barrenderer.setSeriesPaint(1, gradientpaint_7_); barrenderer.setSeriesPaint(2, gradientpaint_8_); //設置種類標簽旋轉的角度,逆時針旋轉 CategoryAxis categoryaxis = categoryplot.getDomainAxis(); categoryaxis.setCategoryLabelPositions(CategoryLabelPositions .createUpRotationLabelPositions(Math.PI / 6)); return jfreechart; } public static JPanel createDemoPanel() { JFreeChart jfreechart = createChart(createDataset()); return new ChartPanel(jfreechart); } public static void main(String[] strings) { BarChartDemo1 barchartdemo1 = new BarChartDemo1("Bar Chart Demo"); barchartdemo1.pack(); RefineryUtilities.centerFrameOnScreen(barchartdemo1); barchartdemo1.setVisible(true); } } ``` 程序代碼說明: + `Main()`方法執行直方條形圖。編寫方法與餅圖一樣。 + `BarChartDemo1`構造函數中創了一個JPanel,并設置大小。 + `createDemoPanel()`方法創建了一個JPanel,并且在該panel上創建了直方條形圖。 + `createDataset()`方法創建了數據集。類型為CategoryDataset。注意數據集為三維數據。與餅圖不同。 + 使用`ChartFactory.createBarChart()`方法創建直方條形圖 + `jfreechart.setBackgroundPaint(Color.WHITE)`:設置圖表的背景顏色。 + `categoryplot.setBackgroundPaint(Color.lightGray)`:設置直方條形圖的背景顏色。 + `setDomainGridlinePaint(Color.whites)`:設置垂直格線的顏色。默認不可見。 + `setRangeGridlinePaint(Color.white)`:設置水平格線的顏色。默認可見。 + `setStandardTickUnits(NumberAxis.createIntegerTickUnits())`:設置數據軸的刻度遞進范圍。 + `GradientPaint`類用來設置漸變色。 + `categoryaxis.setCategoryLabelPositions()`:設置標簽文字旋轉的角度。 ### 6.6.3 類BarChartDemo2.java 功能: 顯示水平的直方條形圖。 效果: ![](img/jfc36314.png) 代碼: ``` private static CategoryDataset createDataset() { double[][] ds = { { 1.0, 43.0, 35.0, 58.0, 54.0, 77.0, 71.0, 89.0 }, { 54.0, 75.0, 63.0, 83.0, 43.0, 46.0, 27.0, 13.0 }, { 41.0, 33.0, 22.0, 34.0, 62.0, 32.0, 42.0, 34.0 } }; return DatasetUtilities.createCategoryDataset("Series ", "Factor ", ds); } private static JFreeChart createChart(CategoryDataset categorydataset) { JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo 2", "Category", "Score (%)", categorydataset, PlotOrientation.VERTICAL, true, true, false); jfreechart.setBackgroundPaint(Color.white); CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot(); categoryplot.setBackgroundPaint(Color.lightGray); categoryplot.setRangeGridlinePaint(Color.white); categoryplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); numberaxis.setRange(0.0, 100.0); numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer(); barrenderer.setDrawBarOutline(false); barrenderer .setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator( "Tooltip: {0}")); return jfreechart; } ``` 程序代碼說明: + 數據集的創建另一種方式,使用二維數組。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看