Example usage for org.jfree.chart.fx ChartViewer setPrefSize

List of usage examples for org.jfree.chart.fx ChartViewer setPrefSize

Introduction

In this page you can find the example usage for org.jfree.chart.fx ChartViewer setPrefSize.

Prototype

public void setPrefSize(double prefWidth, double prefHeight) 

Source Link

Document

Convenience method for overriding the region's computed preferred width and height.

Usage

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);
}