From 6a60c0ddbd3f11502c13249932c71d87c87bb280 Mon Sep 17 00:00:00 2001 From: Edward Evans Date: Wed, 12 Feb 2025 15:52:12 -0600 Subject: [PATCH 1/3] Add marker size option to plot markers --- pom.xml | 2 +- src/main/java/org/scijava/plot/PlotService.java | 8 +++++++- src/main/java/org/scijava/plot/SeriesStyle.java | 1 + .../plot/defaultplot/DefaultPlotService.java | 4 ++-- .../plot/defaultplot/DefaultSeriesStyle.java | 17 +++++++++++------ 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 99570ec..4b16486 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.scijava scijava-plot - 0.2.1-SNAPSHOT + 0.3.0-SNAPSHOT SciJava Plot Plots for SciJava. diff --git a/src/main/java/org/scijava/plot/PlotService.java b/src/main/java/org/scijava/plot/PlotService.java index 80c9141..48a41e3 100644 --- a/src/main/java/org/scijava/plot/PlotService.java +++ b/src/main/java/org/scijava/plot/PlotService.java @@ -41,7 +41,13 @@ public interface PlotService extends SciJavaService { - SeriesStyle newSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle); + double DEFAULT_MARKER_SIZE = 3.0; + + default SeriesStyle newSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle) { + return newSeriesStyle(color, lineStyle, markerStyle, DEFAULT_MARKER_SIZE); + } + + SeriesStyle newSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle, double markerSize); XYPlot newXYPlot(); diff --git a/src/main/java/org/scijava/plot/SeriesStyle.java b/src/main/java/org/scijava/plot/SeriesStyle.java index 25b421b..ae82d90 100644 --- a/src/main/java/org/scijava/plot/SeriesStyle.java +++ b/src/main/java/org/scijava/plot/SeriesStyle.java @@ -45,4 +45,5 @@ public interface SeriesStyle { MarkerStyle getMarkerStyle(); + double getMarkerSize(); } diff --git a/src/main/java/org/scijava/plot/defaultplot/DefaultPlotService.java b/src/main/java/org/scijava/plot/defaultplot/DefaultPlotService.java index 2d1f6ed..8f0aec0 100644 --- a/src/main/java/org/scijava/plot/defaultplot/DefaultPlotService.java +++ b/src/main/java/org/scijava/plot/defaultplot/DefaultPlotService.java @@ -53,8 +53,8 @@ public class DefaultPlotService extends AbstractService implements PlotService { // -- PlotService methods -- @Override - public SeriesStyle newSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle) { - return new DefaultSeriesStyle(color, lineStyle, markerStyle); + public SeriesStyle newSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle, double markerSize) { + return new DefaultSeriesStyle(color, lineStyle, markerStyle, markerSize); } @Override diff --git a/src/main/java/org/scijava/plot/defaultplot/DefaultSeriesStyle.java b/src/main/java/org/scijava/plot/defaultplot/DefaultSeriesStyle.java index 51addc3..b9d4ff7 100644 --- a/src/main/java/org/scijava/plot/defaultplot/DefaultSeriesStyle.java +++ b/src/main/java/org/scijava/plot/defaultplot/DefaultSeriesStyle.java @@ -42,16 +42,16 @@ public class DefaultSeriesStyle implements SeriesStyle { private final ColorRGB color; - - private final MarkerStyle markerStyle; - private final LineStyle lineStyle; + private final MarkerStyle markerStyle; + private final double markerSize; - public DefaultSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle) { + public DefaultSeriesStyle(ColorRGB color, LineStyle lineStyle, MarkerStyle markerStyle, double markerSize) { this.color = color; this.lineStyle = lineStyle; this.markerStyle = markerStyle; - } + this.markerSize = markerSize; + } // -- SeriesStype methods -- @@ -70,6 +70,10 @@ public MarkerStyle getMarkerStyle() { return markerStyle; } + @Override + public double getMarkerSize() { + return markerSize; + } // -- package-private helpers -- @@ -77,6 +81,7 @@ public static DefaultSeriesStyle emptySeriesStyle() { return EMPTY_SERIES_STYLE; } - private static final DefaultSeriesStyle EMPTY_SERIES_STYLE = new DefaultSeriesStyle(null, null, null); + private static final DefaultSeriesStyle EMPTY_SERIES_STYLE = new DefaultSeriesStyle(null, null, null, 0); + } From c91081b7162fa90ddbfbdf0439763db5f5c8cb0e Mon Sep 17 00:00:00 2001 From: Edward Evans Date: Thu, 3 Apr 2025 14:09:41 -0500 Subject: [PATCH 2/3] Add triangle and filled triangle marker shape --- src/main/java/org/scijava/plot/MarkerStyle.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scijava/plot/MarkerStyle.java b/src/main/java/org/scijava/plot/MarkerStyle.java index 16c269e..b3f15bb 100644 --- a/src/main/java/org/scijava/plot/MarkerStyle.java +++ b/src/main/java/org/scijava/plot/MarkerStyle.java @@ -35,5 +35,14 @@ * @author Matthias Arzt */ public enum MarkerStyle { - NONE, PLUS, X, STAR, SQUARE, FILLEDSQUARE, CIRCLE, FILLEDCIRCLE + NONE, + PLUS, + X, + STAR, + SQUARE, + FILLEDSQUARE, + CIRCLE, + FILLEDCIRCLE, + TRIANGLE, + FILLEDTRIANGLE, } From 76368f966b1c9c5fa7089c87931fe16680965ae6 Mon Sep 17 00:00:00 2001 From: Edward Evans Date: Thu, 3 Apr 2025 20:38:44 -0500 Subject: [PATCH 3/3] Add diamond shape to marker styles --- src/main/java/org/scijava/plot/MarkerStyle.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/scijava/plot/MarkerStyle.java b/src/main/java/org/scijava/plot/MarkerStyle.java index b3f15bb..40ce5f8 100644 --- a/src/main/java/org/scijava/plot/MarkerStyle.java +++ b/src/main/java/org/scijava/plot/MarkerStyle.java @@ -43,6 +43,8 @@ public enum MarkerStyle { FILLEDSQUARE, CIRCLE, FILLEDCIRCLE, + DIAMOND, + FILLEDDIAMOND, TRIANGLE, FILLEDTRIANGLE, }