org.jfree.chart.axis.LogarithmicAxis Java Examples

The following examples show how to use org.jfree.chart.axis.LogarithmicAxis. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: LogarithmicAxisTests.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
* Test if switchedLog10 and switchedPow10 are inverses of each other
*/
public void testSwitchedLog10() {
    assertFalse("Axis should not allow negative values",
            this.axis.getAllowNegativesFlag());

    assertEquals(Math.log(0.5) / LogarithmicAxis.LOG10_VALUE,
            this.axis.switchedLog10(0.5), EPSILON);

    checkSwitchedLogPowRoundTrip(20);
    checkSwitchedLogPowRoundTrip(10);
    checkSwitchedLogPowRoundTrip(5);
    checkSwitchedLogPowRoundTrip(2);
    checkSwitchedLogPowRoundTrip(1);
    checkSwitchedLogPowRoundTrip(0.5);
    checkSwitchedLogPowRoundTrip(0.2);
    checkSwitchedLogPowRoundTrip(0.0001);
}
 
Example #2
Source File: LogarithmicAxisTests.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/** 
* Test if switchedLog10 and switchedPow10 are inverses of each other 
*/
public void testSwitchedLog10() {
    assertFalse("Axis should not allow negative values",
            this.axis.getAllowNegativesFlag());
          
    assertEquals(Math.log(0.5) / LogarithmicAxis.LOG10_VALUE,
            this.axis.switchedLog10(0.5), EPSILON);

    checkSwitchedLogPowRoundTrip(20);
    checkSwitchedLogPowRoundTrip(10);
    checkSwitchedLogPowRoundTrip(5);
    checkSwitchedLogPowRoundTrip(2);
    checkSwitchedLogPowRoundTrip(1);
    checkSwitchedLogPowRoundTrip(0.5);
    checkSwitchedLogPowRoundTrip(0.2);
    checkSwitchedLogPowRoundTrip(0.0001);
}
 
Example #3
Source File: UserChartController.java    From airsonic-advanced with GNU General Public License v3.0 4 votes vote down vote up
private JFreeChart createChart(CategoryDataset dataset, HttpServletRequest request) {
    JFreeChart chart = ChartFactory.createBarChart(null, null, null, dataset, PlotOrientation.HORIZONTAL, false, false, false);

    CategoryPlot plot = chart.getCategoryPlot();
    Paint background = new GradientPaint(0, 0, Color.lightGray, 0, IMAGE_MIN_HEIGHT, Color.white);
    plot.setBackgroundPaint(background);
    plot.setDomainGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.white);
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    LogarithmicAxis rangeAxis = new LogarithmicAxis(null);
    rangeAxis.setStrictValuesFlag(false);
    rangeAxis.setAllowNegativesFlag(true);
    plot.setRangeAxis(rangeAxis);

    // Disable bar outlines.
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);

    // Set up gradient paint for series.
    GradientPaint gp0 = new GradientPaint(
            0.0f, 0.0f, Color.blue,
            0.0f, 0.0f, new Color(0, 0, 64)
    );
    renderer.setSeriesPaint(0, gp0);

    // Rotate labels.
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));

    // Set theme-specific colors.
    Color bgColor = getBackground(request);
    Color fgColor = getForeground(request);

    chart.setBackgroundPaint(bgColor);

    domainAxis.setTickLabelPaint(fgColor);
    domainAxis.setTickMarkPaint(fgColor);
    domainAxis.setAxisLinePaint(fgColor);

    rangeAxis.setTickLabelPaint(fgColor);
    rangeAxis.setTickMarkPaint(fgColor);
    rangeAxis.setAxisLinePaint(fgColor);

    return chart;
}
 
Example #4
Source File: UserChartController.java    From airsonic with GNU General Public License v3.0 4 votes vote down vote up
private JFreeChart createChart(CategoryDataset dataset, HttpServletRequest request) {
    JFreeChart chart = ChartFactory.createBarChart(null, null, null, dataset, PlotOrientation.HORIZONTAL, false, false, false);

    CategoryPlot plot = chart.getCategoryPlot();
    Paint background = new GradientPaint(0, 0, Color.lightGray, 0, IMAGE_MIN_HEIGHT, Color.white);
    plot.setBackgroundPaint(background);
    plot.setDomainGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.white);
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    LogarithmicAxis rangeAxis = new LogarithmicAxis(null);
    rangeAxis.setStrictValuesFlag(false);
    rangeAxis.setAllowNegativesFlag(true);
    plot.setRangeAxis(rangeAxis);

    // Disable bar outlines.
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);

    // Set up gradient paint for series.
    GradientPaint gp0 = new GradientPaint(
            0.0f, 0.0f, Color.blue,
            0.0f, 0.0f, new Color(0, 0, 64)
    );
    renderer.setSeriesPaint(0, gp0);

    // Rotate labels.
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));

    // Set theme-specific colors.
    Color bgColor = getBackground(request);
    Color fgColor = getForeground(request);

    chart.setBackgroundPaint(bgColor);

    domainAxis.setTickLabelPaint(fgColor);
    domainAxis.setTickMarkPaint(fgColor);
    domainAxis.setAxisLinePaint(fgColor);

    rangeAxis.setTickLabelPaint(fgColor);
    rangeAxis.setTickMarkPaint(fgColor);
    rangeAxis.setAxisLinePaint(fgColor);

    return chart;
}
 
Example #5
Source File: UserChartController.java    From subsonic with GNU General Public License v3.0 4 votes vote down vote up
private JFreeChart createChart(CategoryDataset dataset, HttpServletRequest request) {
    JFreeChart chart = ChartFactory.createBarChart(null, null, null, dataset, PlotOrientation.HORIZONTAL, false, false, false);

    CategoryPlot plot = chart.getCategoryPlot();
    Paint background = new GradientPaint(0, 0, Color.lightGray, 0, IMAGE_MIN_HEIGHT, Color.white);
    plot.setBackgroundPaint(background);
    plot.setDomainGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.white);
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    LogarithmicAxis rangeAxis = new LogarithmicAxis(null);
    rangeAxis.setStrictValuesFlag(false);
    rangeAxis.setAllowNegativesFlag(true);
    plot.setRangeAxis(rangeAxis);

    // Disable bar outlines.
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);

    // Set up gradient paint for series.
    GradientPaint gp0 = new GradientPaint(
            0.0f, 0.0f, Color.blue,
            0.0f, 0.0f, new Color(0, 0, 64)
    );
    renderer.setSeriesPaint(0, gp0);

    // Rotate labels.
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));

    // Set theme-specific colors.
    Color bgColor = getBackground(request);
    Color fgColor = getForeground(request);

    chart.setBackgroundPaint(bgColor);

    domainAxis.setTickLabelPaint(fgColor);
    domainAxis.setTickMarkPaint(fgColor);
    domainAxis.setAxisLinePaint(fgColor);

    rangeAxis.setTickLabelPaint(fgColor);
    rangeAxis.setTickMarkPaint(fgColor);
    rangeAxis.setAxisLinePaint(fgColor);

    return chart;
}
 
Example #6
Source File: ChartJFreeChartOutputHistogram.java    From gama with GNU General Public License v3.0 4 votes vote down vote up
@Override
public void resetAxes(final IScope scope) {
	final CategoryPlot pp = (CategoryPlot) this.chart.getPlot();
	NumberAxis rangeAxis = (NumberAxis) ((CategoryPlot) this.chart.getPlot()).getRangeAxis();
	if (getY_LogScale(scope)) {
		final LogarithmicAxis logAxis = new LogarithmicAxis(rangeAxis.getLabel());
		logAxis.setAllowNegativesFlag(true);
		((CategoryPlot) this.chart.getPlot()).setRangeAxis(logAxis);
		rangeAxis = logAxis;
	}

	if (!useyrangeinterval && !useyrangeminmax) {
		rangeAxis.setAutoRange(true);
	}

	if (this.useyrangeinterval) {
		rangeAxis.setFixedAutoRange(yrangeinterval);
		rangeAxis.setAutoRangeMinimumSize(yrangeinterval);
		rangeAxis.setAutoRange(true);

	}
	if (this.useyrangeminmax) {
		rangeAxis.setRange(yrangemin, yrangemax);

	}

	resetDomainAxis(scope);

	final CategoryAxis domainAxis = ((CategoryPlot) this.chart.getPlot()).getDomainAxis();

	pp.setDomainGridlinePaint(axesColor);
	pp.setRangeGridlinePaint(axesColor);
	pp.setRangeCrosshairVisible(true);

	pp.getRangeAxis().setAxisLinePaint(axesColor);
	pp.getRangeAxis().setLabelFont(getLabelFont());
	pp.getRangeAxis().setTickLabelFont(getTickFont());
	if (textColor != null) {
		pp.getRangeAxis().setLabelPaint(textColor);
		pp.getRangeAxis().setTickLabelPaint(textColor);
	}
	if (getYTickUnit(scope) > 0) {
		((NumberAxis) pp.getRangeAxis()).setTickUnit(new NumberTickUnit(getYTickUnit(scope)));
	}

	if (getYLabel(scope) != null && !getYLabel(scope).isEmpty()) {
		pp.getRangeAxis().setLabel(getYLabel(scope));
	}
	if (this.series_label_position.equals("yaxis")) {
		pp.getRangeAxis().setLabel(this.getChartdataset().getDataSeriesIds(scope).iterator().next());
		chart.getLegend().setVisible(false);
	}

	if (getXLabel(scope) != null && !getXLabel(scope).isEmpty()) {
		pp.getDomainAxis().setLabel(getXLabel(scope));
	}

	if (this.useSubAxis) {
		for (final String serieid : chartdataset.getDataSeriesIds(scope)) {
			((SubCategoryAxis) domainAxis).addSubCategory(serieid);
		}

	}
	if (!this.getYTickLineVisible(scope)) {
		pp.setDomainGridlinesVisible(false);
	}

	if (!this.getYTickLineVisible(scope)) {
		pp.setRangeCrosshairVisible(false);

	}

	if (!this.getYTickValueVisible(scope)) {
		pp.getRangeAxis().setTickMarksVisible(false);
		pp.getRangeAxis().setTickLabelsVisible(false);

	}

}