Example usage for org.jfree.chart.plot ValueMarker getLabelFont

List of usage examples for org.jfree.chart.plot ValueMarker getLabelFont

Introduction

In this page you can find the example usage for org.jfree.chart.plot ValueMarker getLabelFont.

Prototype

public Font getLabelFont() 

Source Link

Document

Returns the label font.

Usage

From source file:com.android.ddmuilib.net.NetworkPanel.java

/**
 * Create chart of recent network activity.
 *//*from w  ww  . jav a2 s .c om*/
private void createChart() {

    mChart = ChartFactory.createTimeSeriesChart(null, null, null, null, false, false, false);

    // create backing datasets and series
    mRxTotalSeries = new TimeSeries("RX total");
    mTxTotalSeries = new TimeSeries("TX total");

    mRxTotalSeries.setMaximumItemAge(HISTORY_MILLIS);
    mTxTotalSeries.setMaximumItemAge(HISTORY_MILLIS);

    mTotalCollection = new TimeSeriesCollection();
    mTotalCollection.addSeries(mRxTotalSeries);
    mTotalCollection.addSeries(mTxTotalSeries);

    mRxDetailDataset = new LiveTimeTableXYDataset();
    mTxDetailDataset = new LiveTimeTableXYDataset();

    mTotalRenderer = new XYAreaRenderer(XYAreaRenderer.AREA);
    mRenderer = new StackedXYAreaRenderer2();

    final XYPlot xyPlot = mChart.getXYPlot();

    xyPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    xyPlot.setDataset(0, mTotalCollection);
    xyPlot.setDataset(1, mRxDetailDataset);
    xyPlot.setDataset(2, mTxDetailDataset);
    xyPlot.setRenderer(0, mTotalRenderer);
    xyPlot.setRenderer(1, mRenderer);
    xyPlot.setRenderer(2, mRenderer);

    // we control domain axis manually when taking samples
    mDomainAxis = xyPlot.getDomainAxis();
    mDomainAxis.setAutoRange(false);

    final NumberAxis axis = new NumberAxis();
    axis.setNumberFormatOverride(new BytesFormat(true));
    axis.setAutoRangeMinimumSize(50);
    xyPlot.setRangeAxis(axis);
    xyPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);

    // draw thick line to separate RX versus TX traffic
    xyPlot.addRangeMarker(new ValueMarker(0, java.awt.Color.BLACK, new java.awt.BasicStroke(2)));

    // label to indicate that positive axis is RX traffic
    final ValueMarker rxMarker = new ValueMarker(0);
    rxMarker.setStroke(new java.awt.BasicStroke(0));
    rxMarker.setLabel("RX");
    rxMarker.setLabelFont(rxMarker.getLabelFont().deriveFont(30f));
    rxMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY);
    rxMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
    rxMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
    xyPlot.addRangeMarker(rxMarker);

    // label to indicate that negative axis is TX traffic
    final ValueMarker txMarker = new ValueMarker(0);
    txMarker.setStroke(new java.awt.BasicStroke(0));
    txMarker.setLabel("TX");
    txMarker.setLabelFont(txMarker.getLabelFont().deriveFont(30f));
    txMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY);
    txMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
    txMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
    xyPlot.addRangeMarker(txMarker);

    mChartComposite = new ChartComposite(mPanel, SWT.BORDER, mChart, ChartComposite.DEFAULT_WIDTH,
            ChartComposite.DEFAULT_HEIGHT, ChartComposite.DEFAULT_MINIMUM_DRAW_WIDTH,
            ChartComposite.DEFAULT_MINIMUM_DRAW_HEIGHT, 4096, 4096, true, true, true, true, false, true);

    final FormData data = new FormData();
    data.top = new FormAttachment(mHeader);
    data.left = new FormAttachment(0);
    data.bottom = new FormAttachment(70);
    data.right = new FormAttachment(100);
    mChartComposite.setLayoutData(data);
}