List of usage examples for org.jfree.chart ChartFactory createBarChart3D
public static JFreeChart createBarChart3D(String title, String categoryAxisLabel, String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls)
From source file:stockit.Manager.java
private void displayBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_displayBtnActionPerformed // TODO add your handling code here: //panel.removeAll(); DefaultCategoryDataset dataset = new DefaultCategoryDataset(); int row = table.getSelectedRow(); if (row != -1) { //dataset.setValue(, "", table.getValueAt(0,1).toString()); String selectedStock = table.getValueAt(row, 0).toString(); try {/*from ww w.ja v a2s . c o m*/ DBConnection dbcon = new DBConnection(); dbcon.establishConnection(); Statement stmt = dbcon.con.createStatement(); ResultSet rs = stmt .executeQuery("Select stock_daily_performance.Closing_Price, stock_daily_performance.Date\n" + "FROM stock_daily_performance, stock\n" + "WHERE stock_daily_performance.StockID = stock.StockID AND stock.StockID = '" + selectedStock + "'" + "AND Date IN\n" + "( Select * from\n" + "(\n" + "SELECT Date \n" + "FROM stock_daily_performance \n" + "WHERE StockID = stockID \n" + "ORDER BY Date ASC\n" + ") temp_table)\n" + " "); while (rs.next()) { String formattedDate = rs.getString("Date"); int closing_price = rs.getInt("Closing_Price"); System.out.println("Closing Price: " + closing_price); System.out.println("Date: " + formattedDate); dataset.setValue(closing_price, "value", formattedDate); } dbcon.con.close(); } catch (Exception ex) { Logger.getLogger(clientLogin.class.getName()).log(Level.SEVERE, null, ex); } String stockName = table.getValueAt(row, 1).toString(); JFreeChart chart = ChartFactory.createBarChart3D(stockName + " Stock Performance", "Date", "Value", dataset, PlotOrientation.VERTICAL, false, false, false); Color c = new Color(240, 240, 240, 0); chart.setBackgroundPaint(c); CategoryPlot catPlot = chart.getCategoryPlot(); catPlot.setRangeGridlinePaint(Color.BLACK); //set interval of Y-axis ticks (tick every 5 units) NumberAxis yAxis = (NumberAxis) catPlot.getRangeAxis(); yAxis.setTickUnit(new NumberTickUnit(5)); //set y-axis labels as currency types ($) NumberFormat currency = NumberFormat.getCurrencyInstance(); yAxis.setNumberFormatOverride(currency); //setting number of lines an x-axis label is displayed on CategoryAxis categoryAxis = catPlot.getDomainAxis(); categoryAxis.setMaximumCategoryLabelLines(4); panel.setLayout(new java.awt.BorderLayout()); ChartPanel chartPanel = new ChartPanel(chart); panel.removeAll(); panel.add(chartPanel, BorderLayout.CENTER); panel.validate(); panel.repaint(); } }
From source file:GroupProject.OriginalChartUI.java
/** * The method to draw bar chart// www. j a va 2s . c o m * @param barChartData the data used in the bar chart * @param XTitle the measurement of X axis * @param YTitle the measurement of Y axis */ public void draw3DBarChart(Map<String, Float> barChartData, String XTitle, String YTitle) { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); String title = XTitle + " VS " + YTitle; ArrayList<String> keyArrayList = new ArrayList<>(); ArrayList<Float> valueArrayList = new ArrayList<>(); Set set = barChartData.keySet(); int i = 1; for (Map.Entry<String, Float> data : barChartData.entrySet()) { String key = data.getKey(); Float value = data.getValue(); keyArrayList.add(key); valueArrayList.add(value); dataset.setValue(value, "1", key); } JFreeChart chart = ChartFactory.createBarChart3D(title, "", "", dataset, PlotOrientation.VERTICAL, false, false, false); CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(new java.awt.Color(255, 255, 255)); plot.setRangeGridlinePaint(Color.GRAY); BarRenderer3D barRender = (BarRenderer3D) plot.getRenderer(); barRender.setSeriesPaint(0, Color.decode("#9DC3E6")); ChartPanel chartPanel = new ChartPanel(chart); chartDisplayPanel.removeAll(); chartDisplayPanel.add(chartPanel, BorderLayout.CENTER); chartDisplayPanel.validate(); }
From source file:NewGUI.Statistics.java
public void setChart(Boolean isChartBar) { SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); String sql = ""; String title1 = "", title2 = "", title3 = ""; String s1, s2, s3, s4;/*from ww w . j a v a 2 s. c om*/ if (cboxType.getSelectedIndex() == 0) { s1 = "importing"; s2 = "import_type_id"; s3 = "thu nhp"; s4 = "import_type"; } else { s1 = "exporting"; s2 = "export_type_id"; s3 = "chi tiu"; s4 = "export_type"; } int caseSQL = 4 * (checkBoxCategory.isSelected() ? 1 : 0) + 2 * (checkBoxMonth.isSelected() ? 1 : 0) + (checkBoxYear.isSelected() ? 1 : 0); int year = jycFrom.getValue(); int month = cboxMonth.getSelectedIndex(); DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset(); DefaultPieDataset pieDataset = new DefaultPieDataset(); ArrayList<Integer> listAccount = filter.getListAcount(); for (int i = 0; i < listAccount.size(); i++) { String sql1 = "select x.user_id,user.userName,y.name,x.value,x.date from " + "(select a.id,a.user_id,a.value,a.date,a.category_id from " + "(select * from " + (cboxType.getSelectedIndex() == 0 ? "importing" : "exporting") + " where date between '" + df.format(jdcFrom.getDate()).toString() + "' and '" + df.format(jdcTo.getDate()).toString() + "' and user_id in(" + getAccountList() + ") " + getStringAmount() + " " + getStringText() + " " + getStringCategory() + ") as a," + "(select * from share where user_id = 1 and type_id=" + (cboxType.getSelectedIndex() == 0 ? 1 : 2) + ")as b where b.transaction_id=a.id)as x," + "user,import_type as y where x.user_id = user.id and x.category_id=y.id"; sql1 = "(" + sql1 + ")as x"; switch (caseSQL) { case 0: sql = "select sum(value),year(date),userName from " + sql1 + " where user_id=" + listAccount.get(i) + " group by(year(date))"; title1 = ""; title2 = "Bng thng k " + s3 + " cc nm"; title3 = ""; break; case 1: sql = "select sum(value),month(date),userName from " + sql1 + " where user_id=" + listAccount.get(i) + " and year(date)=" + year + " group by (month(date))"; title1 = "T."; title2 = "Bng thng k " + s3 + " trong nm " + year; title3 = ""; break; case 2: sql = "select sum(value),year(date),userName from " + sql1 + " where user_id=" + listAccount.get(i) + " and month(date)=" + month + " group by (year(date))"; title1 = ""; title2 = "Bng thng k " + s3 + " thng " + month + " trong cc nm"; title3 = ""; break; case 3: sql = "select sum(value),name,userName from " + sql1 + " where user_id=" + listAccount.get(i) + " and month(date)=" + month + " and year(date)=" + year + " group by name"; title1 = ""; title2 = "Bng thng k " + s3 + " thng " + month + " trong nm " + year; title3 = ""; break; case 4: sql = "select sum(value),year(date),userName from " + sql1 + " where user_id=" + listAccount.get(i) + " group by (year(date))"; title1 = ""; title2 = "Bng thng k " + s3 + " '" + "' trong cc nm"; title3 = ""; break; case 5: sql = "select sum(value),month(date),userName from " + sql1 + "where user_id=" + listAccount.get(i) + " and year(date)=" + year + " group by (month(date))"; title1 = "T."; title2 = "Bng thng k " + s3 + " '" + "' trong nm " + year; title3 = ""; break; case 6: sql = "select sum(value),year(date),userName from " + sql1 + " where user_id=" + listAccount.get(i) + " and month(date)=" + month + " group by (year(date))"; title1 = ""; title2 = "Bng thng k " + s3 + " '" + "' thng " + month + " trong cc nm"; title3 = ""; break; case 7: sql = "select sum(value),year(date),userName from " + sql1 + " where user_id=" + listAccount.get(i) + " and month(date)=" + month + " and year(date)=" + year; title1 = ""; title2 = "Bng thng k " + s3 + " '" + "' thng " + month + " trong nm " + year; title3 = ""; break; } System.out.println(sql); try { ResultSet rs = Database.stm.executeQuery(sql); while (rs.next()) { categoryDataset.setValue(rs.getInt(1), rs.getString(3), title1 + rs.getString(2)); } } catch (Exception ex) { System.out.println("Loi..."); } } if (isChartBar) { chart = ChartFactory.createBarChart3D("", title2, title3, categoryDataset, PlotOrientation.VERTICAL, true, true, false); } else { chart = ChartFactory.createMultiplePieChart3D(title2, categoryDataset, TableOrder.BY_COLUMN, true, true, true); } chartPanel.setChart(chart); jtabpanelView.setSelectedIndex(1); }
From source file:userInterface.HospitalAdminRole.ManagePatientsJPanel.java
private void createChart() { DefaultCategoryDataset vitalSignDataset = new DefaultCategoryDataset(); int selectedRow = vitalSignjTable.getSelectedRow(); Member member = (Member) vitalSignjTable.getValueAt(selectedRow, 0); ArrayList<VitalSign> vitalSignList = member.getVitalSignList().getVitalSignList(); /*At least 2 vital sign records needed to show chart */ if (vitalSignList.isEmpty() || vitalSignList.size() == 1) { JOptionPane.showMessageDialog(this, "No vital signs or only one vital sign found. At least 2 vital sign records needed to show chart!", "Warning", JOptionPane.INFORMATION_MESSAGE); return;/*w w w.j a va 2s . c o m*/ } for (VitalSign vitalSign : vitalSignList) { vitalSignDataset.addValue(vitalSign.getRespiratoryRate(), "RR", vitalSign.getTimestamp()); vitalSignDataset.addValue(vitalSign.getHeartRate(), "HR", vitalSign.getTimestamp()); vitalSignDataset.addValue(vitalSign.getBloodPressure(), "BP", vitalSign.getTimestamp()); vitalSignDataset.addValue(vitalSign.getTemperature(), "Temp", vitalSign.getTimestamp()); } JFreeChart vitalSignChart = ChartFactory.createBarChart3D("Vital Sign Chart", "Time Stamp", "Rate", vitalSignDataset, PlotOrientation.VERTICAL, true, false, false); vitalSignChart.setBackgroundPaint(Color.white); CategoryPlot vitalSignChartPlot = vitalSignChart.getCategoryPlot(); vitalSignChartPlot.setBackgroundPaint(Color.lightGray); CategoryAxis vitalSignDomainAxis = vitalSignChartPlot.getDomainAxis(); vitalSignDomainAxis .setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)); NumberAxis vitalSignRangeAxis = (NumberAxis) vitalSignChartPlot.getRangeAxis(); vitalSignRangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); ChartFrame chartFrame = new ChartFrame("Chart", vitalSignChart); chartFrame.setVisible(true); chartFrame.setSize(500, 500); }
From source file:gskproject.Analyze.java
private void btnDAGraphActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDAGraphActionPerformed if (tableDepartmentAccident != null) { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); JFreeChart chart = null;/*ww w . j a va2 s. c o m*/ if (ddDDepartment.getSelectedIndex() == 0 && ddDAccidentType.getSelectedIndex() == 0) { for (int i = 0; i < tableDepartmentAccident.size() - 1; i++) { Vector<Object> row = tableDepartmentAccident.get(i); dataset.addValue(Double.parseDouble(row.get(1).toString()), "First Aid", row.get(0).toString()); dataset.addValue(Double.parseDouble(row.get(2).toString()), "LTI", row.get(0).toString()); dataset.addValue(Double.parseDouble(row.get(3).toString()), "Near Miss", row.get(0).toString()); } chart = ChartFactory.createBarChart3D("All Departments VS All Accident Types", "Departments", "Accident Types", dataset, PlotOrientation.VERTICAL, false, true, false); } else { String dep = ddDDepartment.getSelectedItem().toString(); String acc = ddDAccidentType.getSelectedItem().toString(); if (ddDDepartment.getSelectedIndex() == 0) { for (int i = 0; i < tableDepartmentAccident.size() - 1; i++) { Vector<Object> row = tableDepartmentAccident.get(i); dataset.addValue(Double.parseDouble(row.get(ddDAccidentType.getSelectedIndex()).toString()), acc, row.get(0).toString()); } chart = ChartFactory.createBarChart3D("All Departments VS " + acc, "Departments", acc, dataset, PlotOrientation.VERTICAL, false, true, false); } else if (ddDAccidentType.getSelectedIndex() == 0) { Vector row = tableDepartmentAccident.get(ddDDepartment.getSelectedIndex() - 1); dataset.addValue(Double.parseDouble(row.get(1).toString()), dep, "First Aid"); dataset.addValue(Double.parseDouble(row.get(2).toString()), dep, "LTI"); dataset.addValue(Double.parseDouble(row.get(3).toString()), dep, "Near Miss"); chart = ChartFactory.createBarChart3D(dep + " Department VS All Accident Types", "Accident Types", dep, dataset, PlotOrientation.VERTICAL, false, true, false); } } CategoryPlot p = chart.getCategoryPlot(); p.setRangeGridlinePaint(Color.BLACK); ChartFrame frame = new ChartFrame("Dual Axis Chart", chart); frame.setSize(700, 500); frame.setVisible(true); } else { JOptionPane.showMessageDialog(this, "Please Filter Data!"); } }
From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java
private JFreeChart createCategoryBarChart(String title, String xLabel, String yLabel, CategoryDataset dataset) { // System.out.println("layout = "+layout); JFreeChart chart;// w w w. j a va2s . c o m if (dimension.equalsIgnoreCase("3d")) { chart = ChartFactory.createBarChart3D(title, // chart title xLabel, // domain axis label yLabel, // range axis label dataset, // data orientation, // orientation true, // include legend true, // tooltips false // urls ); CategoryPlot plot = chart.getCategoryPlot(); plot.setDomainGridlinesVisible(true); CategoryAxis axis = plot.getDomainAxis(); axis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 8.0)); BarRenderer3D renderer = (BarRenderer3D) plot.getRenderer(); //renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator()); renderer.setDrawBarOutline(false); return chart; } if (layout.equalsIgnoreCase("stacked")) { chart = ChartFactory.createStackedBarChart(title, // chart title xLabel, // domain axis label yLabel, // range axis label dataset, // data orientation, // the plot orientation true, // legend true, // tooltips false // urls ); } else if (layout.equalsIgnoreCase("waterfall")) { chart = ChartFactory.createWaterfallChart(title, xLabel, yLabel, dataset, orientation, true, true, false); CategoryPlot plot = chart.getCategoryPlot(); BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false); DecimalFormat labelFormatter = new DecimalFormat("$##,###.00"); labelFormatter.setNegativePrefix("("); labelFormatter.setNegativeSuffix(")"); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", labelFormatter)); renderer.setBaseItemLabelsVisible(true); } else { chart = ChartFactory.createBarChart(title, // chart title xLabel, // domain axis label yLabel, // range axis label dataset, // data orientation, // orientation true, // include legend true, // tooltips? false // URLs? ); } // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... // set the background color for the chart... chart.setBackgroundPaint(Color.white); // get a reference to the plot for further customisation... CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinePaint(Color.white); // set the range axis to display integers only... NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); // disable bar outlines... if (layout.equalsIgnoreCase("stacked")) { StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false); renderer.setBaseItemLabelsVisible(true); renderer.setSeriesItemLabelGenerator(0, new StandardCategoryItemLabelGenerator()); } else if (layout.equalsIgnoreCase("layered")) { LayeredBarRenderer renderer = new LayeredBarRenderer(); renderer.setDrawBarOutline(false); plot.setRenderer(renderer); plot.setRowRenderingOrder(SortOrder.DESCENDING); } else { BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false); } /* CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setCategoryLabelPositions( CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0) );*/ // OPTIONAL CUSTOMISATION COMPLETED. return chart; }
From source file:Output.SplitChart.java
public void drawGeneratorProfitAndNetEarningsData(String outputTimeTypeSelect, int iStartTime, int iEndTime, int[] selectIndex, boolean bProfit) { if (bProfit) { this.chartTitle = "GenCo Daily Profits"; } else {/* ww w.j a va2 s.co m*/ this.chartTitle = "GenCo Daily Net Earnings"; } ArrayList genAgentProfitAndNetGainByDay = this.amesFrame.getAMESMarket().getGenAgentProfitAndNetGainByDay(); boolean draw3DChart = false; this.dataset = new XYSeriesCollection(); DefaultCategoryDataset dataset3D = new DefaultCategoryDataset(); Object[][] genData = this.amesFrame.getGeneratorData(); int iGenNumber = genData.length; if ((selectIndex.length < 1) || (selectIndex[0] == 0)) { if (outputTimeTypeSelect.equalsIgnoreCase("Entire Run")) { int iDayNumber = genAgentProfitAndNetGainByDay.size(); double[][] genProfit; this.chartTitle = this.chartTitle + "\n " + "for Entire Run"; for (int i = 0; i < iGenNumber; i++) { String genName = (String) genData[i][0]; XYSeries series1; series1 = new XYSeries(genName); for (int iDay = 0; iDay < iDayNumber; iDay++) { genProfit = (double[][]) genAgentProfitAndNetGainByDay.get(iDay); if (bProfit) { series1.add(iDay + 1, (Math.round(genProfit[i][0] * 1000)) / 1000.0); } else { series1.add(iDay + 1, (Math.round(genProfit[i][1] * 1000)) / 1000.0); } } this.dataset.addSeries(series1); } } else if (outputTimeTypeSelect.equalsIgnoreCase("Start to End Day")) { int iDayNumber = (iEndTime - iStartTime) + 1; double[][] genProfit; this.chartTitle = this.chartTitle + "\n " + "From Day " + iStartTime + " to Day " + iEndTime; for (int i = 0; i < iGenNumber; i++) { String genName = (String) genData[i][0]; XYSeries series1; series1 = new XYSeries(genName); for (int iDay = iStartTime - 1; iDay < iEndTime; iDay++) { genProfit = (double[][]) genAgentProfitAndNetGainByDay.get(iDay); if (bProfit) { series1.add(iDay + 1, (Math.round(genProfit[i][0] * 1000)) / 1000.0); } else { series1.add(iDay + 1, (Math.round(genProfit[i][1] * 1000)) / 1000.0); } } this.dataset.addSeries(series1); } } } else { int iDataNumber = selectIndex.length; if (outputTimeTypeSelect.equalsIgnoreCase("Entire Run")) { int iDayNumber = genAgentProfitAndNetGainByDay.size(); double[][] genProfit; this.chartTitle = this.chartTitle + "\n " + "for Entire Run"; for (int i = 0; i < iDataNumber; i++) { String genName = (String) genData[selectIndex[i] - 1][0]; XYSeries series1; series1 = new XYSeries(genName); for (int iDay = 0; iDay < iDayNumber; iDay++) { genProfit = (double[][]) genAgentProfitAndNetGainByDay.get(iDay); if (bProfit) { series1.add(iDay + 1, (Math.round(genProfit[selectIndex[i] - 1][0] * 1000)) / 1000.0); } else { series1.add(iDay + 1, (Math.round(genProfit[selectIndex[i] - 1][1] * 1000)) / 1000.0); } } this.dataset.addSeries(series1); } } else if (outputTimeTypeSelect.equalsIgnoreCase("Start to End Day")) { int iDayNumber = (iEndTime - iStartTime) + 1; double[][] genProfit; this.chartTitle = this.chartTitle + "\n " + "From Day " + iStartTime + " to Day " + iEndTime; for (int i = 0; i < iDataNumber; i++) { String genName = (String) genData[selectIndex[i] - 1][0]; XYSeries series1; series1 = new XYSeries(genName); for (int iDay = iStartTime - 1; iDay < iEndTime; iDay++) { genProfit = (double[][]) genAgentProfitAndNetGainByDay.get(iDay); if (bProfit) { series1.add(iDay + 1, (Math.round(genProfit[selectIndex[i] - 1][0] * 1000)) / 1000.0); } else { series1.add(iDay + 1, (Math.round(genProfit[selectIndex[i] - 1][1] * 1000)) / 1000.0); } } this.dataset.addSeries(series1); } } } if (draw3DChart) { this.chart = ChartFactory.createBarChart3D(this.chartTitle, // chart title "Value Category", // domain axis label "Value ($/D)", // range axis label dataset3D, // data PlotOrientation.VERTICAL, // orientation true, // include legend true, // tooltips false // urls ); final CategoryPlot plot = this.chart.getCategoryPlot(); final CategoryAxis axis = plot.getDomainAxis(); axis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 8.0)); final CategoryItemRenderer renderer = plot.getRenderer(); renderer.setItemLabelsVisible(true); final BarRenderer r = (BarRenderer) renderer; r.setMaximumBarWidth(0.05); } else { // create the chart... this.chart = ChartFactory.createXYLineChart(this.chartTitle, // chart title "Day", // x axis label "Money ($/D)", // y axis label this.dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); this.chart.setBackgroundPaint(Color.white); // get a reference to the plot for further customisation... final XYPlot plot = this.chart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.blue); plot.setRangeGridlinePaint(Color.blue); final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); XYToolTipGenerator generator = new StandardXYToolTipGenerator("{2}", new DecimalFormat("0.00"), new DecimalFormat("0.00")); renderer.setToolTipGenerator(generator); plot.setRenderer(renderer); NumberAxis xAxis = (NumberAxis) plot.getDomainAxis(); xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); } this.chart.getTitle().setFont(this.font); this.chartPanel.setChart(this.chart); }
From source file:Output.SplitChart.java
public void drawLSESurplusData(String outputTimeTypeSelect, int iStartTime, int iEndTime, int[] selectIndex) { String[] names = { "LSE Name", "Day Index", "Surplus ($/H)" }; this.chartTitle = "LSE Daily Net Earnings"; ArrayList lseAgentSurplusByDay = this.amesFrame.getAMESMarket().getLSEAgentSurplusByDay(); boolean draw3DChart = false; this.dataset = new XYSeriesCollection(); DefaultCategoryDataset dataset3D = new DefaultCategoryDataset(); Object[][] lseHybridData = this.amesFrame.getLSEHybridDemandData(); int iLSENumber = lseHybridData.length; if ((selectIndex.length < 1) || (selectIndex[0] == 0)) { if (outputTimeTypeSelect.equalsIgnoreCase("Entire Run")) { int iDayNumber = lseAgentSurplusByDay.size(); double[][] lseSurplus; this.chartTitle = this.chartTitle + "\n " + "for Entire Run"; for (int i = 0; i < iLSENumber; i++) { String lseName = (String) lseHybridData[i][0]; XYSeries series1 = new XYSeries(lseName + " Surplus"); for (int iDay = 0; iDay < iDayNumber; iDay++) { lseSurplus = (double[][]) lseAgentSurplusByDay.get(iDay); series1.add(iDay + 1, (Math.round(lseSurplus[i][0] * 1000)) / 1000.0); }//from ww w. j a v a 2 s . com this.dataset.addSeries(series1); } } else if (outputTimeTypeSelect.equalsIgnoreCase("Start to End Day")) { int iDayNumber = (iEndTime - iStartTime) + 1; double[][] lseSurplus; this.chartTitle = this.chartTitle + "\n " + "From Day " + iStartTime + " to Day " + iEndTime; for (int i = 0; i < iLSENumber; i++) { String lseName = (String) lseHybridData[i][0]; XYSeries series1 = new XYSeries(lseName + " Surplus"); for (int iDay = iStartTime - 1; iDay < iEndTime; iDay++) { lseSurplus = (double[][]) lseAgentSurplusByDay.get(iDay); series1.add(iDay + 1, (Math.round(lseSurplus[i][0] * 1000)) / 1000.0); } this.dataset.addSeries(series1); } } } else { int iDataNumber = selectIndex.length; int iField = names.length; if (outputTimeTypeSelect.equalsIgnoreCase("Entire Run")) { int iDayNumber = lseAgentSurplusByDay.size(); double[][] lseSurplus; this.chartTitle = this.chartTitle + "\n " + "for Entire Run"; for (int i = 0; i < iDataNumber; i++) { String lseName = (String) lseHybridData[selectIndex[i] - 1][0]; XYSeries series1 = new XYSeries(lseName + " Surplus"); for (int iDay = 0; iDay < iDayNumber; iDay++) { lseSurplus = (double[][]) lseAgentSurplusByDay.get(iDay); series1.add(iDay + 1, (Math.round(lseSurplus[selectIndex[i] - 1][0] * 1000)) / 1000.0); } this.dataset.addSeries(series1); } } else if (outputTimeTypeSelect.equalsIgnoreCase("Start to End Day")) { int iDayNumber = (iEndTime - iStartTime) + 1; double[][] lseSurplus; this.chartTitle = this.chartTitle + "\n " + "From Day " + iStartTime + " to Day " + iEndTime; for (int i = 0; i < iDataNumber; i++) { String lseName = (String) lseHybridData[selectIndex[i] - 1][0]; XYSeries series1 = new XYSeries(lseName + " Surplus"); for (int iDay = iStartTime - 1; iDay < iEndTime; iDay++) { lseSurplus = (double[][]) lseAgentSurplusByDay.get(iDay); series1.add(iDay + 1, (Math.round(lseSurplus[selectIndex[i] - 1][0] * 1000)) / 1000.0); } this.dataset.addSeries(series1); } } } if (draw3DChart) { this.chart = ChartFactory.createBarChart3D(this.chartTitle, // chart title "Value Category", // domain axis label "Value", // range axis label dataset3D, // data PlotOrientation.VERTICAL, // orientation true, // include legend true, // tooltips false // urls ); final CategoryPlot plot = this.chart.getCategoryPlot(); final CategoryAxis axis = plot.getDomainAxis(); axis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 8.0)); final CategoryItemRenderer renderer = plot.getRenderer(); renderer.setItemLabelsVisible(true); final BarRenderer r = (BarRenderer) renderer; r.setMaximumBarWidth(0.05); } else { // create the chart... this.chart = ChartFactory.createXYLineChart(this.chartTitle, // chart title "Day", // x axis label "Value", // y axis label this.dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); this.chart.setBackgroundPaint(Color.white); // get a reference to the plot for further customisation... final XYPlot plot = this.chart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.blue); plot.setRangeGridlinePaint(Color.blue); final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); XYToolTipGenerator generator = new StandardXYToolTipGenerator("{2}", new DecimalFormat("0.00"), new DecimalFormat("0.00")); renderer.setToolTipGenerator(generator); plot.setRenderer(renderer); NumberAxis xAxis = (NumberAxis) plot.getDomainAxis(); xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); } this.chart.getTitle().setFont(this.font); this.chartPanel.setChart(this.chart); }
From source file:com.afunms.system.manage.equipManager.java
/** * Creates a chart./*from ww w. j a v a2 s . com*/ * * @param dataset * the dataset. * * @return The chart. */ private JFreeChart _createChart(final CategoryDataset dataset) { final JFreeChart chart = ChartFactory.createBarChart3D("IP", // chart // title "IP", // domain axis label "", // range axis label dataset, // data PlotOrientation.HORIZONTAL, // orientation true, // include legend true, // tooltips false // urls ); final CategoryPlot plot = chart.getCategoryPlot(); plot.setForegroundAlpha(1.0f); // left align the category labels... final CategoryAxis axis = plot.getDomainAxis(); final CategoryLabelPositions p = axis.getCategoryLabelPositions(); final CategoryLabelPosition left = new CategoryLabelPosition(RectangleAnchor.LEFT, TextBlockAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, 0.0, CategoryLabelWidthType.RANGE, 0.30f); axis.setCategoryLabelPositions(CategoryLabelPositions.replaceLeftPosition(p, left)); return chart; }