diff --git a/build.gradle b/build.gradle index 92301f1..9b929f2 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: "maven" apply plugin: "signing" group 'com.github.sh0nk' -version '0.4.1-SNAPSHOT' +version '0.5.0-SNAPSHOT' archivesBaseName = "matplotlib4j" description = "Matplotlib for java: A simple graph plot library for java with powerful python matplotlib" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 57372f4..758de96 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 43264ac..ff553dc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Sep 24 01:25:45 JST 2017 +#Wed Oct 23 10:40:47 UTC 2019 +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-rc-2-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 4453cce..cccdd3d 100755 --- a/gradlew +++ b/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/src/main/java/com/github/sh0nk/matplotlib4j/PyCommand.java b/src/main/java/com/github/sh0nk/matplotlib4j/PyCommand.java index b70cb0e..5d65c0a 100644 --- a/src/main/java/com/github/sh0nk/matplotlib4j/PyCommand.java +++ b/src/main/java/com/github/sh0nk/matplotlib4j/PyCommand.java @@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory; import java.io.*; +import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.List; import java.util.regex.Matcher; @@ -88,7 +89,7 @@ private void command(List commands) throws IOException, PythonExecutionE } private void writeFile(String pythonScript, File script) throws IOException { - BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(script))); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(script), StandardCharsets.UTF_8)); bw.write(pythonScript); bw.close(); } diff --git a/src/main/java/com/github/sh0nk/matplotlib4j/TypeConversion.java b/src/main/java/com/github/sh0nk/matplotlib4j/TypeConversion.java index 5cdc003..0d274dd 100644 --- a/src/main/java/com/github/sh0nk/matplotlib4j/TypeConversion.java +++ b/src/main/java/com/github/sh0nk/matplotlib4j/TypeConversion.java @@ -1,6 +1,7 @@ package com.github.sh0nk.matplotlib4j; import java.util.List; +import java.util.Locale; import java.util.stream.Collectors; public enum TypeConversion { @@ -17,4 +18,8 @@ public List typeSafeList(List orgList) { } }).collect(Collectors.toList()); } + + public String toSafeDouble(double d) { + return String.format(Locale.US, "%.6f", d); + } } diff --git a/src/main/java/com/github/sh0nk/matplotlib4j/builder/HistBuilderImpl.java b/src/main/java/com/github/sh0nk/matplotlib4j/builder/HistBuilderImpl.java index 1f1bcfe..b23ce0b 100644 --- a/src/main/java/com/github/sh0nk/matplotlib4j/builder/HistBuilderImpl.java +++ b/src/main/java/com/github/sh0nk/matplotlib4j/builder/HistBuilderImpl.java @@ -1,5 +1,6 @@ package com.github.sh0nk.matplotlib4j.builder; +import com.github.sh0nk.matplotlib4j.TypeConversion; import com.github.sh0nk.matplotlib4j.kwargs.PatchBuilder; import com.github.sh0nk.matplotlib4j.kwargs.PatchBuilderImpl; import com.google.common.base.Joiner; @@ -33,7 +34,8 @@ public HistBuilder bins(List nums) { @Override public HistBuilder range(double lower, double upper) { - return innerBuilder.addToKwargsWithoutQuoting("range", String.format("(%f, %f)", lower, upper)); + return innerBuilder.addToKwargsWithoutQuoting("range", String.format("(%s, %s)", + TypeConversion.INSTANCE.toSafeDouble(lower), TypeConversion.INSTANCE.toSafeDouble(upper))); } @Override diff --git a/src/main/java/com/github/sh0nk/matplotlib4j/builder/LegendBuilderImpl.java b/src/main/java/com/github/sh0nk/matplotlib4j/builder/LegendBuilderImpl.java index 5876621..b838ffc 100644 --- a/src/main/java/com/github/sh0nk/matplotlib4j/builder/LegendBuilderImpl.java +++ b/src/main/java/com/github/sh0nk/matplotlib4j/builder/LegendBuilderImpl.java @@ -1,5 +1,7 @@ package com.github.sh0nk.matplotlib4j.builder; +import com.github.sh0nk.matplotlib4j.TypeConversion; + public class LegendBuilderImpl implements LegendBuilder { private CompositeBuilder innerBuilder = new CompositeBuilder<>(this); @@ -16,7 +18,8 @@ public LegendBuilder loc(String arg) { @Override public LegendBuilder loc(double x, double y) { - return innerBuilder.addToKwargsWithoutQuoting("loc", String.format("(%d, %d)", x, y)); + return innerBuilder.addToKwargsWithoutQuoting("loc", String.format("(%s, %s)", + TypeConversion.INSTANCE.toSafeDouble(x), TypeConversion.INSTANCE.toSafeDouble(y))); } @Override