Example usage for org.jfree.chart.axis NumberAxis createIntegerTickUnits

List of usage examples for org.jfree.chart.axis NumberAxis createIntegerTickUnits

Introduction

In this page you can find the example usage for org.jfree.chart.axis NumberAxis createIntegerTickUnits.

Prototype

public static TickUnitSource createIntegerTickUnits() 

Source Link

Document

Returns a collection of tick units for integer values.

Usage

From source file:net.praqma.jenkins.memorymap.MemoryMapBuildAction.java

protected JFreeChart createPairedBarCharts(String title, String yaxis, double max, double min,
        CategoryDataset dataset, List<ValueMarker> markers) {
    final CategoryAxis domainAxis = new ShiftedCategoryAxis(null);
    final NumberAxis rangeAxis = new NumberAxis(yaxis);
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setUpperBound(max);//from  w w w  .  j av  a  2  s  . c  o  m
    rangeAxis.setLowerBound(min);
    /*TODO : wrong scale choosen - Jes
     * if the user selects Mega or Giga as the scale, but there only are 
     * a couple of Kilo in the graph it would have no ticks on the axis.
     * this can be solved by. redefining the ticks,
     * We have not done this because it's a bit tricky to figure out the rigth 
     * factor to devid with
     * 
     * but the method wuld be 
     * double factor = 10
     * rangeAxis.setStandardTickUnits(new StandardTickUnitSource(max / factor));
     */

    //StackedAreaRenderer2 renderer = new StackedAreaRenderer2();
    BarRenderer renderer = new BarRenderer();

    CategoryPlot plot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer);
    plot.setDomainAxis(domainAxis);
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);

    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setBackgroundPaint(Color.WHITE);
    plot.setOutlinePaint(null);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.black);

    for (ValueMarker mkr : markers) {
        plot.addRangeMarker(mkr);
    }

    JFreeChart chart = new JFreeChart(plot);
    chart.setPadding(new RectangleInsets(30, 15, 15, 15));
    chart.setTitle(title);
    return chart;
}

From source file:src.gui.LifelinePanel.java

/**
 * this method created and set the graph for showing the timing diagram based
 * on the variable diagram/*from   w w w  .  j a va2 s . c  o  m*/
 */
public void buildLifeLine() {

    //1. get type and context
    String dtype = diagram.getChildText("type");
    String context = diagram.getChildText("context");
    //the frame and lifeline nodes
    Element frame = diagram.getChild("frame");
    String durationStr = frame.getChildText("duration");
    lifelineName = "";
    String objectClassName = "";
    String yAxisName = "";

    float lastIntervalDuration = 0;

    //condition lifeline
    if (dtype.equals("condition")) {

        //check if the context is a action
        if (context.equals("action")) {

            //get action/operator
            Element operatorRef = diagram.getChild("action");
            Element operator = null;
            try {
                XPath path = new JDOMXPath(
                        "elements/classes/class[@id='" + operatorRef.getAttributeValue("class")
                                + "']/operators/operator[@id='" + operatorRef.getAttributeValue("id") + "']");
                operator = (Element) path.selectSingleNode(project);
            } catch (JaxenException e2) {
                e2.printStackTrace();
            }

            if (operator != null) {
                // System.out.println(operator.getChildText("name"));
                //System.out.println("Life line id "+ lifeline.getAttributeValue("id"));

                //get the object (can be a parametr. literal, or object)
                Element objRef = lifeline.getChild("object");
                Element attrRef = lifeline.getChild("attribute");

                //get object class
                Element objClass = null;
                try {
                    XPath path = new JDOMXPath(
                            "elements/classes/class[@id='" + objRef.getAttributeValue("class") + "']");
                    objClass = (Element) path.selectSingleNode(project);
                } catch (JaxenException e2) {
                    e2.printStackTrace();
                }

                Element attribute = null;
                try {
                    XPath path = new JDOMXPath(
                            "elements/classes/class[@id='" + attrRef.getAttributeValue("class")
                                    + "']/attributes/attribute[@id='" + attrRef.getAttributeValue("id") + "']");
                    attribute = (Element) path.selectSingleNode(project);
                } catch (JaxenException e2) {
                    e2.printStackTrace();
                }

                yAxisName = attribute.getChildText("name");

                //if (objClass!=null)
                Element object = null;

                //check what is this object (parameterof an action, object, literal)
                if (objRef.getAttributeValue("element").equals("parameter")) {
                    //get parameter in the action

                    try {
                        XPath path = new JDOMXPath(
                                "parameters/parameter[@id='" + objRef.getAttributeValue("id") + "']");
                        object = (Element) path.selectSingleNode(operator);
                    } catch (JaxenException e2) {
                        e2.printStackTrace();
                    }
                    String parameterStr = object.getChildText("name");

                    lifelineName = parameterStr + ":" + objClass.getChildText("name");
                    objectClassName = parameterStr + ":" + objClass.getChildText("name");
                }
                //

                //set suround border
                Border etchedBdr = BorderFactory.createEtchedBorder();
                Border titledBdr = BorderFactory.createTitledBorder(etchedBdr,
                        "lifeline(" + lifelineName + ")");
                //Border titledBdr = BorderFactory.createTitledBorder(etchedBdr, "");
                Border emptyBdr = BorderFactory.createEmptyBorder(10, 10, 10, 10);
                Border compoundBdr = BorderFactory.createCompoundBorder(titledBdr, emptyBdr);
                this.setBorder(compoundBdr);

                //Boolean attribute
                if (attribute.getChildText("type").equals("1")) {
                    lifelineName += " - " + attribute.getChildText("name");

                    Element timeIntervals = lifeline.getChild("timeIntervals");

                    XYSeriesCollection dataset = new XYSeriesCollection();
                    XYSeries series = new XYSeries("Boolean");
                    for (Iterator<Element> it1 = timeIntervals.getChildren().iterator(); it1.hasNext();) {
                        Element timeInterval = it1.next();
                        boolean insertPoint = true;

                        Element durationConstratint = timeInterval.getChild("durationConstratint");
                        Element lowerbound = durationConstratint.getChild("lowerbound");
                        Element upperbound = durationConstratint.getChild("upperbound");
                        Element value = timeInterval.getChild("value");

                        //Add for both lower and upper bound

                        //lower bound
                        float lowerTimePoint = 0;
                        try {
                            lowerTimePoint = Float.parseFloat(lowerbound.getAttributeValue("value"));
                            lastIntervalDuration = lowerTimePoint;
                        } catch (Exception e) {
                            insertPoint = false;
                        }
                        //System.out.println("    > point     x= "+ Float.toString(lowerTimePoint)+ " ,  y= "+ lowerbound.getAttributeValue("value"));
                        if (insertPoint) {
                            series.add(lowerTimePoint, (value.getText().equals("false") ? 0 : 1));
                        }

                        //upper bound
                        float upperTimePoint = 0;
                        try {
                            upperTimePoint = Float.parseFloat(upperbound.getAttributeValue("value"));
                            lastIntervalDuration = upperTimePoint;
                        } catch (Exception e) {
                            insertPoint = false;
                        }
                        //System.out.println("    > point     x= "+ Float.toString(upperTimePoint)+ " ,  y= "+ lowerbound.getAttributeValue("value"));
                        if (insertPoint && upperTimePoint != lowerTimePoint) {
                            series.add(upperTimePoint, (value.getText().equals("false") ? 0 : 1));
                        }

                    }
                    dataset.addSeries(series);

                    //chart = ChartFactory.createXYStepChart(lifelineName, "time", "value", dataset, PlotOrientation.VERTICAL, false, true, false);
                    chart = ChartFactory.createXYStepChart(attribute.getChildText("name"), "time", "value",
                            dataset, PlotOrientation.VERTICAL, false, true, false);
                    chart.setBackgroundPaint(Color.WHITE);

                    XYPlot plot = (XYPlot) chart.getPlot();
                    plot.setBackgroundPaint(Color.WHITE);

                    NumberAxis domainAxis = new NumberAxis("Time");
                    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
                    domainAxis.setAutoRangeIncludesZero(false);

                    //set timing ruler
                    if (durationStr.trim().equals("")) {
                        if (lastIntervalDuration > 0)
                            domainAxis.setUpperBound(lastIntervalDuration + timingRulerAdditional);
                        else
                            domainAxis.setUpperBound(10.0);
                    } else {
                        try {
                            float dur = Float.parseFloat(durationStr);
                            if (dur >= lastIntervalDuration) {
                                domainAxis.setUpperBound(dur + timingRulerAdditional);
                            } else {
                                domainAxis.setUpperBound(lastIntervalDuration + timingRulerAdditional);
                            }
                        } catch (Exception e) {
                            if (lastIntervalDuration > 0)
                                domainAxis.setUpperBound(lastIntervalDuration + timingRulerAdditional);
                            else
                                domainAxis.setUpperBound(10.0);
                        }

                    }

                    plot.setDomainAxis(domainAxis);

                    String[] values = { "false", "true" };
                    //SymbolAxis rangeAxis = new SymbolAxis("Values", values);
                    SymbolAxis rangeAxis = new SymbolAxis(yAxisName, values);
                    plot.setRangeAxis(rangeAxis);

                    ChartPanel chartPanel = new ChartPanel(chart);
                    chartPanel.setPreferredSize(new Dimension(chartPanel.getSize().width, 175));

                    JLabel title = new JLabel("<html><b><u>" + objectClassName + "</u></b></html>");
                    title.setBackground(Color.WHITE);

                    this.add(title, BorderLayout.WEST);
                    this.add(chartPanel, BorderLayout.CENTER);

                }

            }

        }
        //if this is a possible sequence of action being modeled to a condition
        else if (context.equals("general")) {

        }

    } else if (dtype.equals("state")) {

    }

}

From source file:edu.ucla.stat.SOCR.chart.SuperCategoryChart_vertical.java

/**
 * Creates a chart./*  w  w  w  .j a  v a  2  s  .  c o  m*/
 * 
 * @param dataset  the dataset.
 * 
 * @return a chart.
 */
protected JFreeChart createChart(CategoryDataset dataset) {
    // create the chart...
    JFreeChart chart = ChartFactory.createBarChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            !legendPanelOn, // 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...
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);

    // set up gradient paints for series...
    GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f, 0.0f, new Color(0, 0, 64));
    GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0));
    GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0));
    renderer.setSeriesPaint(0, gp0);
    renderer.setSeriesPaint(1, gp1);
    renderer.setSeriesPaint(2, gp2);

    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));
    // OPTIONAL CUSTOMISATION COMPLETED.

    return chart;

}

From source file:userInterface.CustomerWorkArea.CustomerWorkAreaJPanel.java

private void createChart() {
    DefaultCategoryDataset CarInspectionDataset = new DefaultCategoryDataset();

    ArrayList<CarInspection> carInspectionList = userAccount.getPerson().getCarInspectionHistory()
            .getCarInspectionHistory();/*from  w  ww .  j a  v a2s.c o  m*/
    /*At least 2 vital sign records needed to show chart */
    if (carInspectionList.isEmpty() || carInspectionList.size() == 1) {
        JOptionPane.showMessageDialog(this, " At least 2 car Inspection records needed to show chart!",
                "Warning", JOptionPane.INFORMATION_MESSAGE);
        return;
    }
    for (CarInspection carList : carInspectionList) {
        CarInspectionDataset.addValue(carList.getAlignment(), "RR", carList.getTimestamp());
        CarInspectionDataset.addValue(carList.getBattery(), "HR", carList.getTimestamp());
        CarInspectionDataset.addValue(carList.getBrakingSys(), "BP", carList.getTimestamp());
        CarInspectionDataset.addValue(carList.getOilCheck(), "WT", carList.getTimestamp());
    }

    JFreeChart carInspectionChart = ChartFactory.createBarChart3D("Car Inspection Chart", "Time Stamp",
            "Values", CarInspectionDataset, PlotOrientation.VERTICAL, true, false, false);
    carInspectionChart.setBackgroundPaint(Color.white);
    CategoryPlot carChartPlot = carInspectionChart.getCategoryPlot();
    carChartPlot.setBackgroundPaint(Color.lightGray);

    CategoryAxis vitalSignDomainAxis = carChartPlot.getDomainAxis();
    vitalSignDomainAxis
            .setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));

    NumberAxis vitalSignRangeAxis = (NumberAxis) carChartPlot.getRangeAxis();
    vitalSignRangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    ChartFrame chartFrame = new ChartFrame("Chart", carInspectionChart);
    chartFrame.setVisible(true);
    chartFrame.setSize(500, 500);

}

From source file:net.sourceforge.atunes.kernel.controllers.stats.StatsDialogController.java

private void setAlbumsChart() {
    DefaultCategoryDataset dataset = getDataSet(HandlerProxy.getRepositoryHandler().getMostPlayedAlbums(10));
    JFreeChart chart = ChartFactory.createStackedBarChart3D(LanguageTool.getString("ALBUM_MOST_PLAYED"), null,
            null, dataset, PlotOrientation.HORIZONTAL, false, false, false);
    chart.getTitle().setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 11));
    chart.setBackgroundPaint(new GradientPaint(0, 0, ColorDefinitions.GENERAL_NON_PANEL_TOP_GRADIENT_COLOR, 0,
            200, ColorDefinitions.GENERAL_NON_PANEL_BOTTOM_GRADIENT_COLOR));
    chart.setPadding(new RectangleInsets(5, 0, 0, 0));
    NumberAxis axis = new NumberAxis();
    axis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    axis.setTickLabelFont(new Font(Font.SANS_SERIF, Font.PLAIN, 10));
    chart.getCategoryPlot().setRangeAxis(axis);
    chart.getCategoryPlot().setForegroundAlpha(0.6f);
    chart.getCategoryPlot().getRenderer().setPaint(Color.GREEN);

    ((StatsDialog) frameControlled).getAlbumsChart()
            .setIcon(new ImageIcon(chart.createBufferedImage(710, 250)));
}

From source file:sentimentanalyzer.ChartController.java

public void postTheTimeSeriesChartOnTheGUI_sentiment(JPanel timeSeriesChart, XYSeriesCollection dataset,
        String title, String y, String x, int row) {
    this.wordSentimentScore = ChartFactory.createXYLineChart(title, y, x, dataset, PlotOrientation.VERTICAL,
            true, true, false);/*from  ww  w  .  j av  a  2s  . c om*/

    this.wordIndexesOnGraph.add(row);
    this.plot_sentiment = this.wordSentimentScore.getXYPlot();

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();

    //CHECK THIS
    renderer.setBaseShapesVisible(true);

    this.plot_sentiment.setRenderer(renderer);
    this.plot_sentiment.setOutlinePaint(Color.orange);

    NumberAxis rangeAxis = (NumberAxis) this.plot_sentiment.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    NumberAxis domainAxis = (NumberAxis) this.plot_sentiment.getDomainAxis();
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    this.wordSentimentScore.setBackgroundPaint(Color.white);
    this.wordSentimentScore.setBorderPaint(Color.ORANGE);
    ChartPanel CP = new ChartPanel(this.wordSentimentScore);
    timeSeriesChart.setLayout(new java.awt.BorderLayout());
    timeSeriesChart.add(CP, BorderLayout.CENTER);
    timeSeriesChart.revalidate();
}