Skip to content
Snippets Groups Projects
Commit 40a3bbb0 authored by Tim Molter's avatar Tim Molter
Browse files

allow for resetting of axes types when removing and adding series (Issue #127)

parent d0daa7a9
No related branches found
No related tags found
No related merge requests found
......@@ -51,6 +51,7 @@ public class TestForIssue127 {
chart.removeSeries("test");
new SwingWrapper(chart).displayChart();
Thread.sleep(1000);
DateFormat sdf = new SimpleDateFormat("dd-HH-mm");
......
......@@ -22,7 +22,6 @@ import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import java.util.List;
import org.knowm.xchart.internal.chartpart.Axis.AxisDataType;
import org.knowm.xchart.internal.chartpart.AxisPair;
import org.knowm.xchart.internal.chartpart.Chart;
import org.knowm.xchart.internal.chartpart.Legend_AxesChart;
......@@ -188,8 +187,8 @@ public class Chart_Category extends Chart<Styler_Category, Series_Category> {
seriesMap.put(seriesName, series);
getXAxis().setAxisType(series.getxAxisType());
getYAxis().setAxisType(AxisDataType.Number);
// getXAxis().setAxisType(series.getxAxisDataType());
// getYAxis().setAxisType(AxisDataType.Number);
return series;
}
......@@ -261,8 +260,8 @@ public class Chart_Category extends Chart<Styler_Category, Series_Category> {
*/
public void setSeriesStyles() {
SeriesColorMarkerLineStyleCycler seriesColorMarkerLineStyleCycler = new SeriesColorMarkerLineStyleCycler(getStyler().getSeriesColors(), getStyler().getSeriesMarkers(),
getStyler().getSeriesLines());
SeriesColorMarkerLineStyleCycler seriesColorMarkerLineStyleCycler = new SeriesColorMarkerLineStyleCycler(getStyler().getSeriesColors(), getStyler().getSeriesMarkers(), getStyler()
.getSeriesLines());
for (Series_Category series : getSeriesMap().values()) {
SeriesColorMarkerLineStyle seriesColorMarkerLineStyle = seriesColorMarkerLineStyleCycler.getNextSeriesColorMarkerLineStyle();
......
......@@ -22,7 +22,6 @@ import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import java.util.List;
import org.knowm.xchart.internal.chartpart.Axis.AxisDataType;
import org.knowm.xchart.internal.chartpart.AxisPair;
import org.knowm.xchart.internal.chartpart.Chart;
import org.knowm.xchart.internal.chartpart.Legend_AxesChart;
......@@ -188,8 +187,8 @@ public class Chart_XY extends Chart<Styler_XY, Series_XY> {
seriesMap.put(seriesName, series);
getXAxis().setAxisType(series.getxAxisType());
getYAxis().setAxisType(AxisDataType.Number);
// getXAxis().setAxisType(series.getxAxisDataType());
// getYAxis().setAxisType(AxisDataType.Number);
return series;
}
......
......@@ -244,7 +244,7 @@ public abstract class Series_AxesChart extends Series {
return xData;
}
public AxisDataType getxAxisType() {
public AxisDataType getxAxisDataType() {
return xAxisType;
}
......@@ -254,7 +254,7 @@ public abstract class Series_AxesChart extends Series {
return yData;
}
public AxisDataType getyAxisType() {
public AxisDataType getyAxisDataType() {
return yAxisType;
}
......
......@@ -101,7 +101,7 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char
/**
* Reset the default min and max values in preparation for calculating the actual min and max
*/
public void resetMinMax() {
protected void resetMinMax() {
min = Double.MAX_VALUE;
max = -Double.MAX_VALUE;
......@@ -111,7 +111,7 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char
* @param min
* @param max
*/
public void addMinMax(double min, double max) {
protected void addMinMax(double min, double max) {
// System.out.println(min);
// System.out.println(max);
......@@ -127,14 +127,6 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char
// System.out.println(this.max);
}
public void setAxisType(AxisDataType axisDataType) {
if (this.axisDataType != null && this.axisDataType != axisDataType) {
throw new IllegalArgumentException("Different Axes (Date, Number, String) cannot be mixed on the same chart!!");
}
this.axisDataType = axisDataType;
}
@Override
public void paint(Graphics2D g) {
......@@ -392,6 +384,14 @@ public class Axis<ST extends Styler_AxesChart, S extends Series> implements Char
return axisDataType;
}
public void setAxisDataType(AxisDataType axisDataType) {
if (axisDataType != null && this.axisDataType != null && this.axisDataType != axisDataType) {
throw new IllegalArgumentException("Different Axes (e.g. Date, Number, String) cannot be mixed on the same chart!!");
}
this.axisDataType = axisDataType;
}
protected double getMin() {
return min;
......
......@@ -60,6 +60,14 @@ public class AxisPair<ST extends Styler_AxesChart, S extends Series> implements
private void prepareForPaint() {
// set the axis data types, making sure all are compatible
xAxis.setAxisDataType(null);
yAxis.setAxisDataType(null);
for (Series_AxesChart series : chart.getSeriesMap().values()) {
xAxis.setAxisDataType(series.getxAxisDataType());
yAxis.setAxisDataType(series.getyAxisDataType());
}
// calculate axis min and max
xAxis.resetMinMax();
yAxis.resetMinMax();
......
......@@ -17,7 +17,6 @@
package org.knowm.xchart.internal.chartpart;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.font.FontRenderContext;
......@@ -91,8 +90,8 @@ public class ChartTitle implements ChartPart {
double width = 2 * chart.getStyler().getChartTitlePadding() + textBounds.getWidth();
double height = 2 * chart.getStyler().getChartTitlePadding() + textBounds.getHeight();
bounds = new Rectangle2D.Double(xOffset - chart.getStyler().getChartTitlePadding(), yOffset - textBounds.getHeight() - chart.getStyler().getChartTitlePadding(), width, height);
g.setColor(Color.green);
g.draw(bounds);
// g.setColor(Color.green);
// g.draw(bounds);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment