List of usage examples for org.jfree.chart.axis ValueAxis getLowerMargin
public double getLowerMargin()
From source file:de.unibayreuth.bayeos.goat.panels.timeseries.JPanelChart.java
/** * used for zooming/*from ww w . j av a 2s.c o m*/ * * @param axis the axis. * @param range the range. * @param zoomFactor the zoom factor. * @param anchorValue the anchor value. */ private void adjustRange(ValueAxis axis, Range range, double zoomFactor, double anchorValue) { if (axis == null || range == null) { return; } double rangeMinVal = range.getLowerBound() - range.getLength() * axis.getLowerMargin(); double rangeMaxVal = range.getUpperBound() + range.getLength() * axis.getUpperMargin(); double halfLength = axis.getRange().getLength() * zoomFactor / 2; double zoomedMinVal = anchorValue - halfLength; double zoomedMaxVal = anchorValue + halfLength; double adjMinVal = zoomedMinVal; if (zoomedMinVal < rangeMinVal) { adjMinVal = rangeMinVal; zoomedMaxVal += rangeMinVal - zoomedMinVal; } double adjMaxVal = zoomedMaxVal; if (zoomedMaxVal > rangeMaxVal) { adjMaxVal = rangeMaxVal; zoomedMinVal -= zoomedMaxVal - rangeMaxVal; adjMinVal = Math.max(zoomedMinVal, rangeMinVal); } Range adjusted = new Range(adjMinVal, adjMaxVal); axis.setRange(adjusted); }
From source file:apidemo.PanScrollZoomDemo.java
/** * used for zooming/* w w w . j a v a 2 s . c o m*/ * * @param axis the axis. * @param range the range. * @param zoomFactor the zoom factor. * @param anchorValue the anchor value. */ private void adjustRange(final ValueAxis axis, final Range range, final double zoomFactor, final double anchorValue) { if (axis == null || range == null) { return; } final double rangeMinVal = range.getLowerBound() - range.getLength() * axis.getLowerMargin(); final double rangeMaxVal = range.getUpperBound() + range.getLength() * axis.getUpperMargin(); final double halfLength = axis.getRange().getLength() * zoomFactor / 2; double zoomedMinVal = anchorValue - halfLength; double zoomedMaxVal = anchorValue + halfLength; double adjMinVal = zoomedMinVal; if (zoomedMinVal < rangeMinVal) { adjMinVal = rangeMinVal; zoomedMaxVal += rangeMinVal - zoomedMinVal; } double adjMaxVal = zoomedMaxVal; if (zoomedMaxVal > rangeMaxVal) { adjMaxVal = rangeMaxVal; zoomedMinVal -= zoomedMaxVal - rangeMaxVal; adjMinVal = Math.max(zoomedMinVal, rangeMinVal); } final Range adjusted = new Range(adjMinVal, adjMaxVal); axis.setRange(adjusted); }
From source file:org.gumtree.vis.plot1d.Plot1DChartEditor.java
private void initialise(int seriesIndex) { if (seriesIndex >= 0) { XYItemRenderer renderer = chart.getXYPlot().getRenderer(); if (renderer instanceof XYErrorRenderer) { //Update show marker field showMarker.setSelected(((XYLineAndShapeRenderer) renderer).getBaseShapesVisible()); //Update show error field showError.setSelected(((XYErrorRenderer) renderer).getDrawYError()); //Update logarithm X filed ValueAxis axis = chart.getXYPlot().getDomainAxis(); if (axis instanceof LogarithmizableAxis) { initialLogarithmX = ((LogarithmizableAxis) axis).isLogarithmic(); logarithmX.setSelected(initialLogarithmX); } else { logarithmX.setEnabled(false); }//from ww w. jav a 2 s . c om initialFlipX = axis.isInverted(); flipX.setSelected(initialFlipX); initialMargin = (float) axis.getLowerMargin(); horizontalMargin.setText(String.valueOf(initialMargin)); //Update logarithm Y filed axis = chart.getXYPlot().getRangeAxis(); if (axis instanceof LogarithmizableAxis) { initialLogarithmY = ((LogarithmizableAxis) axis).isLogarithmic(); logarithmY.setSelected(initialLogarithmY); } else { logarithmY.setEnabled(false); } initialFlipY = axis.isInverted(); flipY.setSelected(initialFlipY); //Update series selection combo field seriesCombo.setSelectedIndex(seriesIndex); //Update curve stroke fields Boolean isLineVisible = ((XYLineAndShapeRenderer) renderer).getSeriesLinesVisible(seriesIndex); if (isLineVisible == null) { isLineVisible = ((XYLineAndShapeRenderer) renderer).getBaseLinesVisible(); } if (isLineVisible) { Stroke stroke = renderer.getSeriesStroke(seriesIndex); curveStrokeSample.setStroke(stroke); if (stroke instanceof BasicStroke) { strokeCombo.setSelectedItem(new Float(((BasicStroke) stroke).getLineWidth())); } } else { curveStrokeSample.setStroke(null); strokeCombo.setSelectedIndex(0); } //Update curve colour fields Paint paint = renderer.getSeriesPaint(seriesIndex); curveColorPaint.setPaint(paint); //Update marker fill field Boolean seriesShapeFilled = ((XYLineAndShapeRenderer) renderer).getSeriesShapesFilled(seriesIndex); if (seriesShapeFilled == null) { seriesShapeFilled = ((XYLineAndShapeRenderer) renderer).getBaseShapesFilled(); } if (seriesShapeFilled != null) { markerFilled.setSelected(seriesShapeFilled); } //Update marker shape fields Boolean isShapeVisible = ((XYLineAndShapeRenderer) renderer) .getSeriesShapesVisible(currentSeriesIndex); if (isShapeVisible == null) { isShapeVisible = true; } if (isShapeVisible) { Shape serieseShape = renderer.getSeriesShape(seriesIndex); currentShape = MarkerShape.findMarkerShape(serieseShape); shapeLabel.setIcon(MarkerShape.createIcon(serieseShape, paint, markerFilled.isSelected())); shapeLabel.setText(null); } else { currentShape = MarkerShape.NONE; shapeLabel.setIcon(null); shapeLabel.setText("None"); } updateComborender(paint, markerFilled.isSelected()); //Update curve visibility field Boolean isCurveVisible = ((XYLineAndShapeRenderer) renderer).isSeriesVisible(seriesIndex); if (isCurveVisible == null) { isCurveVisible = ((XYLineAndShapeRenderer) renderer).getBaseSeriesVisible(); } curveVisable.setSelected(isCurveVisible); } } }