aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scalam/plotting/styles/markers.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/scalam/plotting/styles/markers.scala')
-rw-r--r--src/main/scala/scalam/plotting/styles/markers.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/scala/scalam/plotting/styles/markers.scala b/src/main/scala/scalam/plotting/styles/markers.scala
new file mode 100644
index 0000000..aad7685
--- /dev/null
+++ b/src/main/scala/scalam/plotting/styles/markers.scala
@@ -0,0 +1,32 @@
+package scalam.plotting.styles
+
+import scalam.DataSet
+import scalam.m.ast._
+
+trait Marker extends Style {
+ def name = StringLiteral("Marker")
+}
+case object Plus extends Marker { def expression = StringLiteral("+") }
+case object Circle extends Marker { def expression = StringLiteral("o") }
+case object Asterisk extends Marker { def expression = StringLiteral("*") }
+case object Point extends Marker { def expression = StringLiteral(".") }
+case object Cross extends Marker { def expression = StringLiteral("x") }
+case object Square extends Marker { def expression = StringLiteral("s") }
+case object Diamond extends Marker { def expression = StringLiteral("d") }
+case object UpTriangle extends Marker { def expression = StringLiteral("^") }
+case object DownTriangle extends Marker { def expression = StringLiteral("v") }
+case object RightTriangle extends Marker { def expression = StringLiteral(">") }
+case object LeftTriangle extends Marker { def expression = StringLiteral("<") }
+case object Pentagram extends Marker { def expression = StringLiteral("p") }
+case object Hexagram extends Marker { def expression = StringLiteral("h") }
+
+object AllMarkerScheme extends StyleScheme[Marker] {
+
+ val markers = List(Plus, Circle, Asterisk, Point, Cross, Square, Diamond, UpTriangle, DownTriangle, RightTriangle, LeftTriangle, Pentagram, Hexagram)
+ private def map(dataSets: Seq[DataSet]): Map[DataSet, Marker] = dataSets.zipWithIndex.map{
+ case (d, i) => d -> markers(i % dataSets.length)
+ }.toMap
+
+ override def apply(dataSets: Seq[DataSet]) = (Seq.empty[Statement], map(dataSets))
+
+} \ No newline at end of file