@@ -1,102 +1,90 @@ |
+#Fri Feb 05 09:59:21 MST 2016 |
+javadoc.splitindex=true |
+lib.dir=${web.docbase.dir}/WEB-INF/lib |
+auxiliary.org-netbeans-modules-css-prep.sass_2e_mappings=/scss\:/css |
+build.classes.excludes=**/*.java,**/*.form |
+javadoc.author=false |
+j2ee.platform=1.6-web |
+dist.war=${dist.dir}/${war.name} |
+javac.target=1.8 |
+build.generated.dir=${build.dir}/generated |
+resource.dir=setup |
+build.web.excludes=${build.classes.excludes} |
+war.ear.name=${war.name} |
+j2ee.compile.on.save=false |
+j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar\:${j2ee.server.home}/lib/catalina-ant.jar\:${j2ee.server.home}/lib/catalina-ha.jar\:${j2ee.server.home}/lib/catalina-storeconfig.jar\:${j2ee.server.home}/lib/catalina-tribes.jar\:${j2ee.server.home}/lib/catalina.jar\:${j2ee.server.home}/lib/ecj-4.4.2.jar\:${j2ee.server.home}/lib/el-api.jar\:${j2ee.server.home}/lib/jasper-el.jar\:${j2ee.server.home}/lib/jasper.jar\:${j2ee.server.home}/lib/jsp-api.jar\:${j2ee.server.home}/lib/servlet-api.jar\:${j2ee.server.home}/lib/tomcat-api.jar\:${j2ee.server.home}/lib/tomcat-coyote.jar\:${j2ee.server.home}/lib/tomcat-dbcp.jar\:${j2ee.server.home}/lib/tomcat-i18n-es.jar\:${j2ee.server.home}/lib/tomcat-i18n-fr.jar\:${j2ee.server.home}/lib/tomcat-i18n-ja.jar\:${j2ee.server.home}/lib/tomcat-jdbc.jar\:${j2ee.server.home}/lib/tomcat-jni.jar\:${j2ee.server.home}/lib/tomcat-util-scan.jar\:${j2ee.server.home}/lib/tomcat-util.jar\:${j2ee.server.home}/lib/tomcat-websocket.jar\:${j2ee.server.home}/lib/websocket-api.jar |
+debug.test.classpath=${run.test.classpath} |
+build.dir=build |
+javac.deprecation=false |
+persistence.xml.dir=${conf.dir} |
+j2ee.copy.static.files.on.save=false |
+auxiliary.org-netbeans-modules-css-prep.less_2e_mappings=/less\:/css |
+test.src.dir=test |
+auxiliary.org-netbeans-modules-css-prep.sass_2e_compiler_2e_options= |
+junit.selected.version=4 |
+includes=** |
+jar.compress=false |
+annotation.processing.processors.list= |
+javadoc.version=false |
+build.classes.dir=${build.web.dir}/WEB-INF/classes |
+dist.dir=dist |
+project.csip-core=../csip-core |
+rest.config.type=ide |
+javac.source=1.8 |
+javac.debug=true |
+javac.test.processorpath=${javac.test.classpath} |
+run.test.classpath=${javac.test.classpath}\:${build.test.classes.dir} |
+build.generated.sources.dir=${build.dir}/generated-sources |
+auxiliary.org-netbeans-modules-css-prep.less_2e_enabled=false |
+javadoc.notree=false |
+source.root=src |
+runmain.jvmargs= |
+platform.active=default_platform |
+javadoc.preview=true |
+j2ee.deploy.on.save=false |
annotation.processing.enabled=true |
+war.content.additional= |
+dist.javadoc.dir=${dist.dir}/javadoc |
+client.urlPart= |
+javadoc.additionalparam= |
+javac.classpath=${libs.CSIP-Jersey-2.16.classpath}\:${reference.csip-core.jar}\:${file.reference.commons-math-2.0.jar}\:${file.reference.jcommon-1.0.16.jar}\:${file.reference.jfreechart-1.0.13.jar}\:${file.reference.velocity-1.7-dep.jar} |
+javadoc.noindex=false |
+webinf.dir=web/WEB-INF |
annotation.processing.enabled.in.editor=true |
-annotation.processing.processors.list= |
+javadoc.private=false |
+javadoc.encoding=${source.encoding} |
+build.test.classes.dir=${build.dir}/test/classes |
+reference.csip-core.jar=${project.csip-core}/dist/csip-core.jar |
+auxiliary.org-netbeans-modules-css-prep.less_2e_compiler_2e_options= |
+web.docbase.dir=web |
+javac.compilerargs= |
+file.reference.velocity-1.7-dep.jar=lib/velocity-1.7-dep.jar |
+auxiliary.org-netbeans-modules-web-clientproject-api.js_2e_libs_2e_folder=js/libs |
+auxiliary.org-netbeans-modules-css-prep.sass_2e_enabled=false |
+source.encoding=UTF-8 |
+file.reference.commons-math-2.0.jar=lib/commons-math-2.0.jar |
+dist.ear.war=${dist.dir}/${war.ear.name} |
+j2ee.server.type=Tomcat |
+file.reference.jfreechart-1.0.13.jar=lib/jfreechart-1.0.13.jar |
+conf.dir=${source.root}/conf |
annotation.processing.run.all.processors=true |
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output |
-auxiliary.org-netbeans-modules-css-prep.less_2e_compiler_2e_options= |
-auxiliary.org-netbeans-modules-css-prep.less_2e_enabled=false |
-auxiliary.org-netbeans-modules-css-prep.less_2e_mappings=/less:/css |
-auxiliary.org-netbeans-modules-css-prep.sass_2e_compiler_2e_options= |
-auxiliary.org-netbeans-modules-css-prep.sass_2e_enabled=false |
-auxiliary.org-netbeans-modules-css-prep.sass_2e_mappings=/scss:/css |
-auxiliary.org-netbeans-modules-web-clientproject-api.js_2e_libs_2e_folder=js/libs |
-build.classes.dir=${build.web.dir}/WEB-INF/classes |
-build.classes.excludes=**/*.java,**/*.form |
-build.dir=build |
-build.generated.dir=${build.dir}/generated |
-build.generated.sources.dir=${build.dir}/generated-sources |
-build.test.classes.dir=${build.dir}/test/classes |
+compile.jsps=false |
+excludes= |
+javac.processorpath=${javac.classpath} |
build.test.results.dir=${build.dir}/test/results |
+display.browser=false |
+endorsed.classpath=${libs.javaee-endorsed-api-6.0.classpath} |
+javadoc.use=true |
build.web.dir=${build.dir}/web |
-build.web.excludes=${build.classes.excludes} |
-client.urlPart= |
-compile.jsps=false |
-conf.dir=${source.root}/conf |
-debug.classpath=${build.classes.dir}:${javac.classpath} |
-debug.test.classpath=\ |
- ${run.test.classpath} |
-display.browser=false |
-dist.dir=dist |
-dist.ear.war=${dist.dir}/${war.ear.name} |
-dist.javadoc.dir=${dist.dir}/javadoc |
-dist.war=${dist.dir}/${war.name} |
-endorsed.classpath=\ |
- ${libs.javaee-endorsed-api-6.0.classpath} |
-excludes= |
-file.reference.commons-math-2.0.jar=lib/commons-math-2.0.jar |
+javadoc.nonavbar=false |
+war.name=csip-groundwater.war |
file.reference.jcommon-1.0.16.jar=lib/jcommon-1.0.16.jar |
-file.reference.jfreechart-1.0.13.jar=lib/jfreechart-1.0.13.jar |
-file.reference.velocity-1.7-dep.jar=lib/velocity-1.7-dep.jar |
-includes=** |
-j2ee.compile.on.save=false |
-j2ee.copy.static.files.on.save=false |
-j2ee.deploy.on.save=false |
-j2ee.platform=1.6-web |
-j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/ecj-4.4.2.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar |
-j2ee.server.type=Tomcat |
-jar.compress=false |
-javac.classpath=\ |
- ${libs.CSIP-Jersey-2.16.classpath}:\ |
- ${reference.csip-core.jar}:\ |
- ${file.reference.commons-math-2.0.jar}:\ |
- ${file.reference.jcommon-1.0.16.jar}:\ |
- ${file.reference.jfreechart-1.0.13.jar}:\ |
- ${file.reference.velocity-1.7-dep.jar} |
-# Space-separated list of extra javac options |
-javac.compilerargs= |
-javac.debug=true |
-javac.deprecation=false |
-javac.processorpath=\ |
- ${javac.classpath} |
-javac.source=1.8 |
-javac.target=1.8 |
+javadoc.windowtitle= |
javac.test.classpath=\ |
${javac.classpath}:\ |
${build.classes.dir}:\ |
- ${libs.junit_4.classpath} |
-javac.test.processorpath=\ |
- ${javac.test.classpath} |
-javadoc.additionalparam= |
-javadoc.author=false |
-javadoc.encoding=${source.encoding} |
-javadoc.noindex=false |
-javadoc.nonavbar=false |
-javadoc.notree=false |
-javadoc.preview=true |
-javadoc.private=false |
-javadoc.splitindex=true |
-javadoc.use=true |
-javadoc.version=false |
-javadoc.windowtitle= |
-lib.dir=${web.docbase.dir}/WEB-INF/lib |
-persistence.xml.dir=${conf.dir} |
-platform.active=default_platform |
-project.csip-core=../csip-core |
-reference.csip-core.jar=${project.csip-core}/dist/csip-core.jar |
-resource.dir=setup |
-rest.config.type=ide |
-run.test.classpath=\ |
- ${javac.test.classpath}:\ |
- ${build.test.classes.dir} |
-# Space-separated list of JVM arguments used when running a class with a main method or a unit test |
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value): |
-runmain.jvmargs= |
-source.encoding=UTF-8 |
-source.root=src |
+ ${libs.junit_4.classpath}:\ |
+ ${libs.hamcrest.classpath} |
src.dir=${source.root}/java |
-test.src.dir=test |
-war.content.additional= |
-war.ear.name=${war.name} |
-war.name=csip-groundwater.war |
-web.docbase.dir=web |
-webinf.dir=web/WEB-INF |
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output |
+debug.classpath=${build.classes.dir}\:${javac.classpath} |
@@ -1,4 +1,5 @@ |
package groundwater; |
+ |
import java.io.File; |
import java.io.FileWriter; |
import java.io.IOException; |
@@ -9,47 +10,11 @@ |
import java.util.Arrays; |
import java.util.Calendar; |
import java.util.Collections; |
-import java.util.Comparator; |
import java.util.Date; |
import java.util.GregorianCalendar; |
|
-class DateComparator implements Comparator<String[]>{ |
- //Compares the first entry of sorted data as flow values and sorts largest to smallest |
- public int compare(final String[] entry1, final String[] entry2) { |
- String value1 = entry1[0]; |
- String value2 = entry2[0]; |
- int comparison = value1.compareTo(value2); |
- if(comparison>0){ |
- return 1; |
- }else if(comparison<0){ |
- return -1; |
- }else{ |
- return 0; |
- } |
- } |
-} |
-class FlowComparator implements Comparator<String[]>{ |
- //Compares the second entry of sorted data as flow values and sorts largest to smallest |
- public int compare(final String[] entry1, final String[] entry2) { |
- double value1 = 0; |
- double value2 = 0; |
- try{ |
- value1 = Double.parseDouble(entry1[1]); |
- value2 = Double.parseDouble(entry2[1]); |
- }catch(NumberFormatException e){ |
- e.printStackTrace(); |
- } |
- if (value1 > value2){ |
- return -1; |
- }else if (value1 < value2){ |
- return 1; |
- }else{ |
- return 0; |
- } |
- } |
-} |
/** |
-* Last Updated: 1-July-2015 |
+* Last Updated: 5-February-2016 |
* @author Tyler Wible |
* @since 21-June-2012 |
*/ |
@@ -1034,7 +999,7 @@ |
return peakFlowData; |
} |
/** |
- * Computes the daily/monthly/yearly max/min/average/total of the daily dataset provided |
+ * Computes the daily/monthly/yearly max/min/average/total of the daily dataset provided (requires previously sorted data by date) |
* @param dailyData a string array with column1 = dates (yyyy-mm-dd format), column2 = value |
* @param timeStep the desired timestep "daily", "monthly", or "yearly" |
* @param method the desired method "max", "min", "average", or "total" |
@@ -1066,7 +1031,7 @@ |
} |
/** |
* Computes the method on the dailyData provided substring-ing the dates from 0-dateLimit to |
- * get a unique set of time periods on which to perform the method |
+ * get a unique set of time periods on which to perform the method (requires previously sorted data by date) |
* @param dailyData a string array with column1 = dates (yyyy-mm-dd format), column2 = value |
* @param method the desired method "max", "min", "average", or "total" |
* @param dateLimit an integer for the limit of the date substring (typically 4 or 7 for the |
@@ -1103,13 +1068,13 @@ |
//If current data != current month, calculate method on the current month's dataset, save the result and reset the dataset |
newData[ctr][0] = uniqueTimeStep.get(ctr); |
if(method.equalsIgnoreCase("max")){ |
- newData[ctr][1] = String.valueOf(doubleMath.max(currentMonthData)); |
+ newData[ctr][1] = String.valueOf(doubleMath.max(currentMonthData)); |
}else if(method.equalsIgnoreCase("average")){ |
- newData[ctr][1] = String.valueOf(doubleMath.meanArithmetic(currentMonthData)); |
+ newData[ctr][1] = String.valueOf(doubleMath.meanArithmetic(currentMonthData)); |
}else if(method.equalsIgnoreCase("min")){ |
- newData[ctr][1] = String.valueOf(doubleMath.min(currentMonthData)); |
+ newData[ctr][1] = String.valueOf(doubleMath.min(currentMonthData)); |
}else if(method.equalsIgnoreCase("total")){ |
- newData[ctr][1] = String.valueOf(doubleMath.sum(currentMonthData)); |
+ newData[ctr][1] = String.valueOf(doubleMath.sum(currentMonthData)); |
} |
|
//Reset the dataset and add the current data to it as the new month's data |
@@ -16,11 +16,8 @@ |
import org.jfree.chart.plot.XYPlot; |
import org.jfree.chart.renderer.xy.XYItemRenderer; |
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; |
-import org.jfree.data.time.Day; |
-import org.jfree.data.time.Month; |
import org.jfree.data.time.TimeSeries; |
import org.jfree.data.time.TimeSeriesCollection; |
-import org.jfree.data.time.Year; |
import org.jfree.data.xy.XYDataset; |
import org.jfree.data.xy.XYSeries; |
import org.jfree.data.xy.XYSeriesCollection; |
@@ -29,16 +26,16 @@ |
import org.jfree.ui.TextAnchor; |
|
/** |
-* Last Updated: 16-December-2014 |
+* Last Updated: 5-February-2016 |
* @author Tyler Wible |
* @since 3-February-2014 |
*/ |
public class Graphing { |
private String fontFamily = "SansSerif"; |
- Font titleFont = new Font(fontFamily, Font.BOLD, 30); |
- Font masterFont = new Font(fontFamily, Font.PLAIN, 22); |
- Font DClabelFont = new Font(fontFamily, Font.ITALIC, 20); |
- Font floodLabelFont = new Font(fontFamily, Font.PLAIN, 18); |
+ public Font titleFont = new Font(fontFamily, Font.BOLD, 30); |
+ public Font masterFont = new Font(fontFamily, Font.PLAIN, 22); |
+ public Font DClabelFont = new Font(fontFamily, Font.ITALIC, 20); |
+ public Font floodLabelFont = new Font(fontFamily, Font.PLAIN, 18); |
//Calibri |
//Georgia |
//SansSerif |
@@ -224,7 +221,7 @@ |
* @param seriesIndex the graph index of the series to be plotted |
* @return the provided XYPlot with the series added to it with the above properties |
*/ |
- public XYPlot graphSeries(XYPlot plot, double[][] series, Color lineColor, int seriesIndex){ |
+ public XYPlot addXYSeries(XYPlot plot, double[][] series, Color lineColor, int seriesIndex){ |
XYSeries xySeries = new XYSeries(""); |
for(int i=0; i<series.length; i++){ |
double y = series[i][1]; |
@@ -249,139 +246,57 @@ |
return plot; |
} |
/** |
- * Graphs the provided "series" as an XY series with x as the first column y as the second column in the provided color |
- * on the provided XYPlot, this series is not visible in the legend |
- * @param plot the XYPlot to add the "series" to |
- * @param series a String[][] array with series[all][0] = dates in yyyy-MM-dd format, series[all][1] = y-values |
- * @param timeStep a flag for what data is being graphed ("Daily", "Monthly", or "Yearly") |
- * @param seriesName the name of the series to appear in the legend (if showInLegend is true) |
- * @param lineColor the color of the line to be graphed |
- * @param seriesIndex the graph index of the series to be plotted |
- * @param showInLegend a flag to show this series in the legend (true) or not (false) |
- * @param leapYearTF a flag to check if the main dataset is a leap year or not so that if graphing data repeatedly for one year (see timeseries envelope graph) Feb. 29th does or doesnot get plotted |
- * @return the provided XYPlot with the series added to it with the above properties |
- */ |
- public XYPlot graphSeries(XYPlot plot, |
- String[][] series, |
- String timeStep, |
- String seriesName, |
- Color lineColor, |
- int seriesIndex, |
- boolean showInLegend, |
- boolean leapYearTF){ |
- TimeSeries timeSeries = new TimeSeries(seriesName); |
- for(int i=0; i<series.length; i++){ |
- String tmpStr = series[i][0]; |
- double value = Double.parseDouble(series[i][1]); |
- |
- if(timeStep.equalsIgnoreCase("daily")){ |
- double d = Double.parseDouble(tmpStr.substring(8)); |
- double m = Double.parseDouble(tmpStr.substring(5,7)); |
- double y = Double.parseDouble(tmpStr.substring(0,4)); |
- int day = (int)d; |
- int month = (int)m; |
- int year = (int)y; |
- try{ |
- Day date = new Day(day,month,year);//day,month,year |
- timeSeries.add(date, value); |
- }catch(IllegalArgumentException e){ |
- //If there is an error with the date and it is not due to trying |
- //to plot Feb. 29th in a non-leap year then throw the error |
- if(!leapYearTF && month!=2 && day!=29){ |
- throw new IllegalArgumentException (e); |
- } |
- } |
- |
- }else if(timeStep.equalsIgnoreCase("monthly")){ |
- double m = Double.parseDouble(tmpStr.substring(5,7)); |
- double y = Double.parseDouble(tmpStr.substring(0,4)); |
- int month = (int)m; |
- int year = (int)y; |
- Month date = new Month(month,year);//month,year |
- timeSeries.add(date, value); |
- |
- }else if(timeStep.equalsIgnoreCase("yearly")){ |
- double y = Double.parseDouble(tmpStr.substring(0,4)); |
- int year = (int)y; |
- Year date = new Year(year);//year |
- timeSeries.add(date, value); |
- } |
- } |
- |
- //Create a graph with the line |
- TimeSeriesCollection currentDataset = new TimeSeriesCollection(timeSeries); |
- XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false); |
- renderer.setSeriesPaint(0, lineColor); |
- renderer.setSeriesVisibleInLegend(0, showInLegend); |
- |
- //Set the line data, renderer, and axis into plot |
- plot.setDataset(seriesIndex, currentDataset); |
- plot.setRenderer(seriesIndex, renderer); |
- |
- //Map the line to the first Domain and first Range |
- plot.mapDatasetToDomainAxis(0, 0); |
- plot.mapDatasetToRangeAxis(0, 0); |
- |
- return plot; |
- } |
- /** |
* Graphs the TimeSeries on to the provided plot with the below properties for rendering, color, series index |
* @param plot The XYPlot to graph the XYSeries on |
* @param currentLine the XYSeries containing the x,y points of the current line series |
* @param lineTrue a boolean, true if the series is to have lines connecting the points, otherwise no line |
* @param seriesColor The desired color of the series (Java.Color) |
- * @param dashedLine if true then the XYSeries will have a dashed line instead of a solid one, if false it will be the normal solid line |
- * @param shortDash if true a dashed line like the major grid lines will be drawn, otherwise a long dashed line will be used |
- * @param thickLine if true the line will have a thicker stroke, if false it will be left to the defaults |
- * @param visibleInLegend if true then the XYSeries' name will be visible in the legend, if false this XYSeries' name will not be visible in the legend |
+ * @param dashedLine_TF if true then the XYSeries will have a dashed line instead of a solid one, if false it will be the normal solid line |
+ * @param shortDash_TF if true a dashed line like the major grid lines will be drawn, otherwise a long dashed line will be used |
+ * @param thickLine_TF if true the line will have a thicker stroke (this overwrites any changes due to dash size), if false it will be left to the defaults |
+ * @param visibleInLegend_TF if true then the XYSeries' name will be visible in the legend, if false this XYSeries' name will not be visible in the legend |
* @param graphIndex the series index for the current line, this should be incrementally increased |
* each time this function is call so that the new dataset does not replace the old one |
* @return the XYPlot with the added TimeSeries |
*/ |
- public XYPlot graphTimeData(XYPlot plot, |
- TimeSeries currentLine, |
- boolean lineTrue, |
- Color seriesColor, |
- boolean dashedLine, |
- boolean shortDash, |
- boolean thickLine, |
- boolean visibleInLegend, |
- int graphIndex){ |
+ public XYPlot addTimeseriesData(XYPlot plot, |
+ TimeSeries currentLine, |
+ boolean lineTrue, |
+ Color seriesColor, |
+ boolean dashedLine_TF, |
+ boolean shortDash_TF, |
+ boolean thickLine_TF, |
+ boolean visibleInLegend_TF, |
+ int graphIndex){ |
//Create Line Data and renderer |
TimeSeriesCollection currentDataset = new TimeSeriesCollection(currentLine); |
|
//Check if this series should have a dashed line or solid line and change the renderer accordingly |
- |
XYItemRenderer currentRenderer = new XYLineAndShapeRenderer(lineTrue, !lineTrue); |
currentRenderer.setSeriesPaint(0, seriesColor); |
- currentRenderer.setSeriesVisibleInLegend(0, visibleInLegend); |
- |
+ currentRenderer.setSeriesVisibleInLegend(0, visibleInLegend_TF); |
+ |
//Check if this series should have a dashed line, if so change the renderer |
- if(dashedLine){ |
- if(shortDash){ |
- //Change the renderer's stroke to a short dashed line |
- currentRenderer.setSeriesStroke(0, |
- new BasicStroke( |
- 1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, |
- 1.0f, new float[] {1.0f, 2.0f}, 0.0f |
- )); |
- }else{ |
- //Change the renderer's stroke to a long dashed line |
- currentRenderer.setSeriesStroke(0, |
- new BasicStroke( |
- 1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, |
- 1.0f, new float[] {6.0f, 6.0f}, 0.0f |
- )); |
- } |
+ if(dashedLine_TF && shortDash_TF){ |
+ //Change the renderer's stroke to a short dashed line |
+ currentRenderer.setSeriesStroke(0, new BasicStroke( |
+ 1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, |
+ 1.0f, new float[] {1.0f, 2.0f}, 0.0f) |
+ ); |
+ }else if(dashedLine_TF){ |
+ //Change the renderer's stroke to a long dashed line |
+ currentRenderer.setSeriesStroke(0, new BasicStroke( |
+ 1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, |
+ 1.0f, new float[] {6.0f, 6.0f}, 0.0f) |
+ ); |
} |
|
//Check if the series should have a thicker line |
- if(thickLine){ |
- currentRenderer.setSeriesStroke(0, |
- new BasicStroke( |
- 3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, |
- 1.0f, new float[] {6.0f, 0.0f}, 0.0f |
- )); |
+ if(thickLine_TF){ |
+ currentRenderer.setSeriesStroke(0, new BasicStroke( |
+ 3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, |
+ 1.0f, new float[] {6.0f, 0.0f}, 0.0f) |
+ ); |
} |
|
//Put the line data, renderer, and axis into plot |