diff --git a/xchart/src/main/java/com/xeiam/xchart/StyleManager.java b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java index fb4d87a216127a4db2afee67441546d47c85a67f..58fe291772242a4531150dbf838f14b52f4fb525 100644 --- a/xchart/src/main/java/com/xeiam/xchart/StyleManager.java +++ b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java @@ -143,6 +143,7 @@ public class StyleManager { // Error Bars /////////////////////////////// private Color errorBarsColor; + private boolean isErrorBarsColorSeriesColor; // Formatting //////////////////////////////// private Locale locale; @@ -231,6 +232,7 @@ public class StyleManager { // Error Bars /////////////////////////////// errorBarsColor = theme.getErrorBarsColor(); + isErrorBarsColorSeriesColor = theme.isErrorBarsColorSeriesColor(); // Formatting //////////////////////////////// locale = Locale.getDefault(); @@ -1045,7 +1047,7 @@ public class StyleManager { /** * set whether or no bars are filled with a solid color or empty. - * + * * @param isBarFilled */ public void setBarFilled(boolean isBarFilled) { @@ -1092,6 +1094,21 @@ public class StyleManager { return errorBarsColor; } + /** + * Set true if the the error bar color should match the series color + * + * @return + */ + public void setErrorBarsColorSeriesColor(boolean isErrorBarsColorSeriesColor) { + + this.isErrorBarsColorSeriesColor = isErrorBarsColorSeriesColor; + } + + public boolean isErrorBarsColorSeriesColor() { + + return isErrorBarsColorSeriesColor; + } + // Formatting //////////////////////////////// /** diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java index 0b2e49aa237ab1064fa17d959702a4406ff02d51..bcf987e834df3149b3072cc1b1481438c0cc3f95 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java @@ -236,7 +236,14 @@ public class PlotContentLineChart extends PlotContent { if (errorBars != null) { - g.setColor(getChartPainter().getStyleManager().getErrorBarsColor()); + // set error bar color + + if (getChartPainter().getStyleManager().isErrorBarsColorSeriesColor()) { + g.setColor(series.getStrokeColor()); + } + else { + g.setColor(getChartPainter().getStyleManager().getErrorBarsColor()); + } g.setStroke(errorBarStroke); double topValue = 0.0; diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java index cb95e1a152c682e18a20a878c421f530bba5d3b1..5a454f9985274319771c3f6b7ddce0470d632a42 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java @@ -315,4 +315,9 @@ public class GGPlot2Theme implements Theme { return ChartColor.getAWTColor(ChartColor.DARK_GREY); } + @Override + public boolean isErrorBarsColorSeriesColor() { + + return false; + } } diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java index 5756a29d8c8c1e3a7b762c82aa923be4f6d6ed2f..1cbbe35a30589e5d133f033ff19aee91859bd1b8 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java @@ -316,4 +316,9 @@ public class MatlabTheme implements Theme { return ChartColor.getAWTColor(ChartColor.BLACK); } + @Override + public boolean isErrorBarsColorSeriesColor() { + + return false; + } } diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java index 4ca1c5ddeded2e45e890774bfecbe23aaa926f6e..97b4bffb97934bc449bf210390898c492db5fd24 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java @@ -132,4 +132,6 @@ public interface Theme { public Color getErrorBarsColor(); + public boolean isErrorBarsColorSeriesColor(); + } diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java index 1a4cf322ff39347c42aff54fb3c640f39f5c8d05..d09084da2a277f2c8217c3f52bef5212d4d882ea 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java @@ -315,4 +315,10 @@ public class XChartTheme implements Theme { return ChartColor.getAWTColor(ChartColor.DARK_GREY); } + @Override + public boolean isErrorBarsColorSeriesColor() { + + return false; + } + }