List of usage examples for org.jfree.chart ChartFactory createLineChart
public static JFreeChart createLineChart(String title, String categoryAxisLabel, String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls)
From source file:medic_hospital.GlucoseTrend.java
public void populateChart(int id) { int[] glucoseList; double[] dateList; try {//from www. j a va 2 s . c om Class.forName("com.mysql.jdbc.Driver"); con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/medic", "root", ""); //To get the number of rows in the result String sql = "Select Count(*) from patient_statistics where patient_id = ?"; pst = con.prepareStatement(sql); pst.setInt(1, id); rs = pst.executeQuery(); if (rs.next()) { glucoseList = new int[rs.getInt("Count(*)")]; dateList = new double[rs.getInt("Count(*)")]; } else { glucoseList = new int[1]; dateList = new double[1]; } //To get the statistic sql = "Select glucose_level, date_of_submission from patient_statistics where patient_id = ?"; pst = con.prepareStatement(sql); pst.setInt(1, id); rs = pst.executeQuery(); int li_item = 0; String date = ""; while (rs.next()) { date = ""; glucoseList[li_item] = rs.getInt("glucose_level"); date = rs.getString("date_of_submission"); date = date.replaceAll("/", ""); date = date.replaceAll(":", ""); date = date.replaceAll(" ", ""); dateList[li_item] = Double.parseDouble(date); li_item++; } JFreeChart chart; chart = ChartFactory.createLineChart("Glucose Levels Over Time", "Time", "Glucose Level", createDataset(glucoseList, dateList), PlotOrientation.VERTICAL, true, true, false); //Setting the window contents of the JFrame ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(560, 367)); f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); f.setLayout(new BorderLayout(0, 5)); f.add(chartPanel, BorderLayout.CENTER); f.pack(); f.setVisible(true); } catch (SQLException | ClassNotFoundException ex) { Logger.getLogger(GlucoseTrend.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:medic_hospital.CholesterolTrend.java
public void populateChart(int id) { int[] cholesterolList; double[] dateList; try {/* ww w.j a va2 s .com*/ Class.forName("com.mysql.jdbc.Driver"); con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/medic", "root", ""); //To get the number of rows in the result String sql = "Select Count(*) from patient_statistics where patient_id = ?"; pst = con.prepareStatement(sql); pst.setInt(1, id); rs = pst.executeQuery(); if (rs.next()) { cholesterolList = new int[rs.getInt("Count(*)")]; dateList = new double[rs.getInt("Count(*)")]; } else { cholesterolList = new int[1]; dateList = new double[1]; } //To get the statistic sql = "Select cholesterol, date_of_submission from patient_statistics where patient_id = ?"; pst = con.prepareStatement(sql); pst.setInt(1, id); rs = pst.executeQuery(); int li_item = 0; String date = ""; while (rs.next()) { date = ""; cholesterolList[li_item] = rs.getInt("cholesterol"); date = rs.getString("date_of_submission"); date = date.replaceAll("/", ""); date = date.replaceAll(":", ""); date = date.replaceAll(" ", ""); dateList[li_item] = Double.parseDouble(date); li_item++; } JFreeChart chart; chart = ChartFactory.createLineChart("Cholesterol Levels Over Time", "Time", "Cholesterol Level", createDataset(cholesterolList, dateList), PlotOrientation.VERTICAL, true, true, false); //Setting the window contents of the JFrame ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(560, 367)); f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); f.setLayout(new BorderLayout(0, 5)); f.add(chartPanel, BorderLayout.CENTER); f.pack(); f.setVisible(true); } catch (SQLException | ClassNotFoundException ex) { Logger.getLogger(GlucoseTrend.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:edu.cuny.cat.ui.TraderDistributionPanel.java
public TraderDistributionPanel() { registry = GameController.getInstance().getRegistry(); clock = GameController.getInstance().getClock(); dataset = new DefaultCategoryDataset(); setTitledBorder("Trader Distribution"); chart = ChartFactory.createLineChart("", "", "", dataset, PlotOrientation.VERTICAL, true, true, false); chart.setBackgroundPaint(getBackground()); final CategoryPlot categoryplot = chart.getCategoryPlot(); categoryplot.setOrientation(PlotOrientation.HORIZONTAL); categoryplot.setBackgroundPaint(Color.lightGray); categoryplot.setRangeGridlinePaint(Color.white); final LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) categoryplot.getRenderer(); UIUtils.setDefaultLineAndShapeRendererStyle(lineandshaperenderer); lineandshaperenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); final NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); numberaxis.setAutoRangeIncludesZero(false); numberaxis.setUpperMargin(0.12D);//from w ww. ja v a 2 s .c o m final ChartPanel chartPanel = new ChartPanel(chart); add(chartPanel, BorderLayout.CENTER); }
From source file:FILA.Produtor.java
@Override public void run() { System.out.println("Produtor iniciado!"); long lastTimeArrival, lastTimeExit, now; int multiplier = 1; int maxArrival = 5; int rngArrival; double yEntrada = 3.2; int indice = 1; now = new Date().getTime(); JFreeChart grafico;/* ww w. j a v a 2 s . c o m*/ tempoAnterior = now; while (true) { now = new Date().getTime(); if (tempoAnterior + multiplier * intervalo <= now) { timePassed += 1; if (timePassed % 5 == 0) { System.out.println( "Passaram " + timePassed + " segundos/ " + fila.getSize() + " pessoas na fila."); } if (timePassed % 10 == 0) { System.out.println("teste"); grafico = ChartFactory.createLineChart("Pessoas na fila", "Tempo", "Quantidade", dataset, PlotOrientation.VERTICAL, true, true, false); OutputStream arquivo; try { arquivo = new FileOutputStream("teste.png"); ChartUtilities.writeChartAsPNG(arquivo, grafico, 550, 400); } catch (FileNotFoundException ex) { Logger.getLogger(Produtor.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Produtor.class.getName()).log(Level.SEVERE, null, ex); } } //System.out.println(timePassed); tempoAnterior = now; rngArrival = rng.nextInt(maxArrival + 1); rngResult = rng.nextDouble(); //rngArrival = 2; if (isFullRandom) { if (rngResult < yEntrada) { for (int i = 0; i < rngArrival; i++) { //System.out.println("set"); fila.set(indice++); } } } else { if (rngResult <= Poisson(yEntrada, rngArrival)) { for (int i = 0; i < rngArrival; i++) { //System.out.println("set"); fila.set(indice++); } } } dataset.addValue(fila.getSize(), "", timePassed + "s"); } } }
From source file:guineu.modules.visualization.intensityplot.IntensityPlotFrame.java
public IntensityPlotFrame(ParameterSet parameters) { super("", true, true, true, true); String title = "Intensity plot [" + GuineuCore.getDesktop().getSelectedDataFiles()[0].getDatasetName() + "]"; String xAxisLabel = parameters.getParameter(IntensityPlotParameters.xAxisValueSource).getValue().toString(); // create dataset dataset = new IntensityPlotDataset(parameters); // create new JFreeChart logger.finest("Creating new chart instance"); chart = ChartFactory.createLineChart(title, xAxisLabel, "Height", dataset, PlotOrientation.VERTICAL, true, true, false);/*from w w w . j a v a2s. c om*/ CategoryPlot plot = (CategoryPlot) chart.getPlot(); // set renderer StatisticalLineAndShapeRenderer renderer = new StatisticalLineAndShapeRenderer(false, true); renderer.setBaseStroke(new BasicStroke(2)); plot.setRenderer(renderer); plot.setBackgroundPaint(Color.white); // set tooltip generator CategoryToolTipGenerator toolTipGenerator = new IntensityPlotTooltipGenerator(); renderer.setBaseToolTipGenerator(toolTipGenerator); CategoryAxis xAxis = (CategoryAxis) plot.getDomainAxis(); xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); chart.setBackgroundPaint(Color.white); // create chart JPanel ChartPanel chartPanel = new ChartPanel(chart); add(chartPanel, BorderLayout.CENTER); IntensityPlotToolBar toolBar = new IntensityPlotToolBar(this); add(toolBar, BorderLayout.EAST); // disable maximum size (we don't want scaling) chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE); chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE); // set title properties TextTitle chartTitle = chart.getTitle(); chartTitle.setMargin(5, 0, 0, 0); chartTitle.setFont(titleFont); LegendTitle legend = chart.getLegend(); legend.setItemFont(legendFont); legend.setBorder(0, 0, 0, 0); Plot dplot = chart.getPlot(); // set shape provider IntensityPlotDrawingSupplier shapeSupplier = new IntensityPlotDrawingSupplier(); dplot.setDrawingSupplier(shapeSupplier); // set y axis properties NumberAxis yAxis; yAxis = (NumberAxis) ((CategoryPlot) dplot).getRangeAxis(); NumberFormat yAxisFormat = new DecimalFormat("0.0E0"); yAxis.setNumberFormatOverride(yAxisFormat); setTitle(title); setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE); setBackground(Color.white); pack(); }
From source file:Demo.LineGraph.java
private void InitChart() { JFreeChart chart = ChartFactory.createLineChart("Yield", "sample NB", "Probability", dataSet, PlotOrientation.VERTICAL, false, false, false); CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.lightGray); plot.setRangeGridlinePaint(Color.lightGray); plot.setDomainGridlinesVisible(true); plot.setNoDataMessage("no data"); LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer(); renderer.setBaseItemLabelsVisible(true); renderer.setSeriesPaint(0, Color.BLUE); renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true);//from w w w .j a va 2 s.co m renderer.setBaseItemLabelsVisible(true); renderer.setBasePositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelFont(new Font("Times New Romain", 0, 10)); plot.setRenderer(renderer); CategoryAxis axis = plot.getDomainAxis(); axis.setCategoryLabelPositions(CategoryLabelPositions.createDownRotationLabelPositions(Math.PI / 6.0)); chartPane = new ChartPanel(chart); }
From source file:com.porepw.porli.frame.java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.setValue(60, "Marks", "Student 1"); dataset.setValue(40, "Marks", "Student 2"); dataset.setValue(90, "Marks", "Student 3"); dataset.setValue(50, "Marks", "Student 4"); dataset.setValue(70, "Marks", "Student 5"); dataset.setValue(30, "Marks", "Student 6"); JFreeChart chart = ChartFactory.createLineChart("Student Marks", "Student Name", "Marks", dataset, PlotOrientation.HORIZONTAL, false, true, false); CategoryPlot p = chart.getCategoryPlot(); p.setRangeGridlinePaint(Color.BLACK); ChartPanel panel = new ChartPanel(chart); panel.setDomainZoomable(true);//from w w w .j a v a2s. c om jPanel2.add(panel, BorderLayout.CENTER); panel.setPreferredSize(new java.awt.Dimension(500, 270)); }
From source file:com.liferay.portlet.polls.action.ViewChartAction.java
@Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try {/*from w w w. j a va 2 s. c o m*/ ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); long questionId = ParamUtil.getLong(request, "questionId"); String chartType = ParamUtil.getString(request, "chartType", "pie"); CategoryDataset dataset = PollsUtil.getVotesDataset(questionId); String chartName = themeDisplay.translate("vote-results"); String xName = themeDisplay.translate("choice"); String yName = themeDisplay.translate("votes"); JFreeChart chart = null; if (chartType.equals("area")) { chart = ChartFactory.createAreaChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL, true, false, false); } else if (chartType.equals("horizontal_bar")) { chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.HORIZONTAL, true, false, false); } else if (chartType.equals("line")) { chart = ChartFactory.createLineChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL, true, false, false); } else if (chartType.equals("vertical_bar")) { chart = ChartFactory.createBarChart(chartName, xName, yName, dataset, PlotOrientation.VERTICAL, true, false, false); } else { PieDataset pieData = DatasetUtilities.createPieDatasetForRow(dataset, 0); chart = ChartFactory.createPieChart(chartName, pieData, true, false, false); } response.setContentType(ContentTypes.IMAGE_JPEG); OutputStream os = response.getOutputStream(); ChartUtilities.writeChartAsJPEG(os, chart, 400, 400); return null; } catch (Exception e) { PortalUtil.sendError(e, request, response); return null; } }
From source file:org.pentaho.chart.plugin.jfreechart.chart.line.JFree3DLineChartGenerator.java
protected JFreeChart doCreateChart(final ChartDocumentContext chartDocContext, final ChartTableModel data) { final ChartDocument chartDocument = chartDocContext.getChartDocument(); final String title = getTitle(chartDocument); final String valueCategoryLabel = getValueCategoryLabel(chartDocument); final String valueAxisLabel = getValueAxisLabel(chartDocument); final PlotOrientation orientation = getPlotOrientation(chartDocument); final boolean legend = getShowLegend(chartDocument); final boolean toolTips = getShowToolTips(chartDocument); final DefaultCategoryDataset categoryDataset = datasetGeneratorFactory .createDefaultCategoryDataset(chartDocContext, data); final JFreeChart chart = ChartFactory.createLineChart(title, valueCategoryLabel, valueAxisLabel, categoryDataset, orientation, legend, toolTips, toolTips); final CategoryPlot categoryPlot = chart.getCategoryPlot(); categoryPlot.setRenderer(new LineRenderer3D()); final ChartElement[] seriesElements = chartDocument.getRootElement() .findChildrenByName(ChartElement.TAG_NAME_SERIES); if (categoryPlot != null && seriesElements != null) { setSeriesAttributes(seriesElements, data, categoryPlot); }// w w w . ja va 2 s .co m return chart; }
From source file:org.pentaho.chart.plugin.jfreechart.chart.line.JFreeLineChartGenerator.java
protected JFreeChart doCreateChart(final ChartDocumentContext chartDocContext, final ChartTableModel data) { final ChartDocument chartDocument = chartDocContext.getChartDocument(); final String title = getTitle(chartDocument); final String valueCategoryLabel = getValueCategoryLabel(chartDocument); final String valueAxisLabel = getValueAxisLabel(chartDocument); final PlotOrientation orientation = getPlotOrientation(chartDocument); final boolean legend = getShowLegend(chartDocument); final boolean toolTips = getShowToolTips(chartDocument); final DefaultCategoryDataset categoryDataset = datasetGeneratorFactory .createDefaultCategoryDataset(chartDocContext, data); final JFreeChart chart = ChartFactory.createLineChart(title, valueCategoryLabel, valueAxisLabel, categoryDataset, orientation, legend, toolTips, toolTips); final CategoryPlot categoryPlot = chart.getCategoryPlot(); final ChartElement[] seriesElements = chartDocument.getRootElement() .findChildrenByName(ChartElement.TAG_NAME_SERIES); if (categoryPlot != null && seriesElements != null) { setSeriesAttributes(seriesElements, data, categoryPlot); }/*from w w w .j a va 2 s . c om*/ return chart; }