Last active
May 25, 2024 10:20
-
-
Save dacr/43ae1aabe27b2e4e5f1cd75fe41ed5cb to your computer and use it in GitHub Desktop.
smile scatter swing visualization / published by https://github.com/dacr/code-examples-manager #5ddf60b5-e2d9-4740-9f32-11b8254f54e5/e59e9931cf54cdb58056d14ed5c3bf2a53b4d078
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// summary : smile scatter swing visualization | |
// keywords : smile, chart, visualization, scatter, swing | |
// publish : gist | |
// authors : David Crosson | |
// license : Apache NON-AI License Version 2.0 (https://raw.githubusercontent.com/non-ai-licenses/non-ai-licenses/main/NON-AI-APACHE2) | |
// id : 5ddf60b5-e2d9-4740-9f32-11b8254f54e5 | |
// created-on : 2021-03-05T09:23:01Z | |
// managed-by : https://github.com/dacr/code-examples-manager | |
// run-with : scala-cli $file | |
// --------------------- | |
//> using scala "3.4.2" | |
//> using dep "com.github.pathikrit::better-files:3.9.2" | |
//> using dep "com.github.haifengl:smile-scala_2.13:3.0.1" | |
//> using dep "org.bytedeco:javacpp-platform:1.5.8" | |
//> using dep "org.bytedeco:javacpp:1.5.8,classifier=linux-x86_64" | |
//> using dep "org.bytedeco:arpack-ng:3.8.0-1.5.8,classifier=linux-x86_64" | |
//> using dep "org.bytedeco:openblas:0.3.21-1.5.8,classifier=linux-x86_64" | |
//> using dep "org.slf4j:slf4j-nop:2.0.7" | |
//> using dep "com.lihaoyi::requests:0.8.0" | |
// --------------------- | |
/* | |
sudo apt-get install libopenblas-dev libopenblas-base | |
*/ | |
import scala.language.postfixOps | |
import better.files._ | |
import smile.read | |
import smile.util._ | |
import smile.math._ | |
import smile.math.MathEx._ | |
import smile.math.distance._ | |
import smile.data._ | |
import smile.data.formula._ | |
import smile.data.measure._ | |
import smile.data.`type`._ | |
import smile.regression._ | |
import smile.stat.distribution._ | |
import smile.io._ | |
//import smile.plot.vega._ // FOR VEGA RENDERING | |
import smile.plot.swing._ // FOR SWING RENDERING | |
import smile.plot.show | |
import smile.plot.Render._ | |
// examples coming from http://haifengl.github.io/visualization.html | |
implicit val renderer:Canvas=>Unit = JWindow.apply | |
// -------------------------------------------------------------------- | |
val inputFileName = "iris.arff" | |
val inputFile = inputFileName.toFile | |
if (inputFile.notExists) { | |
val url = "https://gist.githubusercontent.com/myui/143fa9d05bd6e7db0114/raw/500f178316b802f1cade6e3bf8dc814a96e84b1e/iris.arff" | |
for {out <- inputFile.newOutputStream.autoClosed} {requests.get(url).writeBytesTo(out)} | |
} | |
// -------------------------------------------------------------------- | |
val iris = read.arff("iris.arff") | |
println(iris.summary()) | |
// -------------------------------------------------------------------- | |
{ | |
val canvas = plot(iris, "sepallength", "sepalwidth", "petallength", "class", '*') | |
canvas.setAxisLabels("sepallength", "sepalwidth", "petallength") | |
show(canvas) | |
} | |
// -------------------------------------------------------------------- | |
{ | |
show(plot(iris, "sepallength", "petallength", "class", '*')) | |
} | |
// -------------------------------------------------------------------- | |
println("enter to exit"); scala.io.StdIn.readLine() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment