List of usage examples for org.jfree.chart.fx ChartViewer setPrefSize
public void setPrefSize(double prefWidth, double prefHeight)
From source file:com.bdb.weather.display.summary.RainHourChart.java
public RainHourChart() { for (int i = 0; i < 24; i++) hourRainDataset.addValue(0.0, CATEGORY_NAME, Integer.toString(i)); JFreeChart rainChart = ChartFactory.createBarChart(null, "Hour", "", hourRainDataset, PlotOrientation.VERTICAL, false, true, false); ChartViewer rainChartViewer = new ChartViewer(rainChart); rainChartViewer.setMaxHeight(10000); rainChartViewer.setMaxWidth(10000);/*w w w .ja v a 2 s.co m*/ rainChartViewer.setPrefSize(800, 200); plot = (CategoryPlot) rainChart.getPlot(); plot.setRangeAxis(RainRangeAxis.create()); this.getChildren().add(rainChartViewer); }
From source file:com.bdb.weather.display.summary.RainSummary.java
private Node createChartElements() { chart = ChartFactory.createXYBarChart("Water Cycle", "Date", true, "", null, PlotOrientation.VERTICAL, true, true, false);// w w w .j a v a 2 s. c o m ChartViewer chartViewer = new ChartViewer(chart); chartViewer.setPrefSize(500, 300); chartViewer.addChartMouseListener(this); rainPlot = (XYPlot) chart.getPlot(); DateAxis dateAxis = (DateAxis) rainPlot.getDomainAxis(); dateAxis.setDateFormatOverride(interval.getLegacyFormat()); ClusteredXYBarRenderer renderer = new ClusteredXYBarRenderer(); rainPlot.setRenderer(renderer); //renderer.setBarAlignmentFactor(0.0); renderer.setMargin(0.2); renderer.setShadowVisible(false); StandardXYToolTipGenerator ttgen = new StandardXYToolTipGenerator( StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, interval.getLegacyFormat(), Depth.getDefaultFormatter()); renderer.setBaseToolTipGenerator(ttgen); //renderer.setSeriesPaint(0, Color.BLUE); // TODO Use color preferences //renderer.setSeriesPaint(1, Color.RED); // TODO Use color preferences rainPlot.setRangeAxis(valueAxis); rainPlot.getDomainAxis().setVerticalTickLabels(true); return chartViewer; }
From source file:com.bdb.weather.display.summary.WindSummary.java
/** * Create the plot.//from w w w .ja v a2s . c o m * * @return The panel that contains the plot */ private ChartViewer createPlot() { JFreeChart chart = ChartFactory.createXYLineChart("", "", "", null, PlotOrientation.VERTICAL, true, true, true); plot = (XYPlot) chart.getPlot(); ChartViewer panel = new ChartViewer(chart); panel.setPrefSize(500, 300); panel.addChartMouseListener(this); // // Set up the Domain Axis (X) // dateAxis = new DateAxis("Time"); dateAxis.setDateFormatOverride(interval.getLegacyFormat()); dateAxis.setVerticalTickLabels(true); plot.setDomainAxis(dateAxis); valueAxis = WindSpeedRangeAxis.create(); plot.setRangeAxis(valueAxis); // // Set up the renderer to generate tool tips, not show shapes // DefaultXYItemRenderer renderer = new DefaultXYItemRenderer(); renderer.setBaseShapesVisible(false); renderer.setBaseToolTipGenerator( new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, interval.getLegacyFormat(), Speed.getDefaultFormatter())); renderer.setDefaultEntityRadius(1); plot.setRenderer(SUSTAINED_WIND_SERIES, renderer); renderer = new DefaultXYItemRenderer(); WeatherSenseConstants.configureGustRenderer(renderer, 0); plot.setRenderer(GUST_SERIES, renderer); return panel; }
From source file:com.bdb.weather.display.summary.HighLowPanel.java
@SuppressWarnings("LeakingThisInConstructor") public HighLowPanel(String title, SummaryInterval interval, ViewLauncher launcher, SummarySupporter supporter, ValueAxis rangeAxis, String domainAxisLabel, SeriesInfo<T>[] seriesList, NumberFormat format) { this.setPrefSize(500, 300); this.interval = interval; this.launcher = launcher; this.supporter = supporter; chart = ChartFactory.createHighLowChart(title, domainAxisLabel, "", seriesCollection, true); chart.getLegend().setPosition(RectangleEdge.RIGHT); plot = (XYPlot) chart.getPlot();//from www . ja va 2s .co m renderer = (HighLowRenderer) plot.getRenderer(); renderer.setDrawCloseTicks(false); plot.setRangeAxis(rangeAxis); dateAxis = (DateAxis) plot.getDomainAxis(); dateAxis.setDateFormatOverride(interval.getLegacyFormat()); dateAxis.setVerticalTickLabels(true); dateAxis.setTickMarkPosition(DateTickMarkPosition.START); //dateAxis.setTickUnit(interval.getDateTickUnit()); //dateAxis.setTickUnit(new DateTickUnit(DateTickUnitType.MONTH, 2)); ChartViewer chartViewer = new ChartViewer(chart); chartViewer.addChartMouseListener(this); chartViewer.setPrefSize(500, 300); series = new OHLCSeries[seriesList.length]; for (int i = 0; i < seriesList.length; i++) { series[i] = new OHLCSeries(seriesList[i].getSeriesName()); seriesCollection.addSeries(series[i]); } seriesInfo = Arrays.copyOf(seriesList, seriesList.length); TableColumn<SummaryRecord, String> column = new TableColumn<>("Date"); column.setCellValueFactory( (rec) -> new ReadOnlyStringWrapper(DisplayConstants.formatDate(rec.getValue().getDate()))); dataTable.getColumns().add(column); String headingPrefix[] = { HIGH_COL_HEADING, LOW_COL_HEADING, AVG_COL_HEADING }; for (SeriesInfo<T> seriesColumn : seriesList) { for (String heading : headingPrefix) { column = new TableColumn<>(heading + " - " + seriesColumn.getSeriesName()); column.setCellValueFactory(seriesColumn); column.setUserData(heading); dataTable.getColumns().add(column); } } this.setTabContents(chartViewer, dataTable); HighLowItemLabelGenerator ttg = new HiLoItemLabelGenerator(interval.getLegacyFormat(), format); plot.getRenderer().setBaseToolTipGenerator(ttg); }