commonMain.jetbrains.letsPlot.scale.Alpha.kt Maven / Gradle / Ivy
/*
* Copyright (c) 2021. JetBrains s.r.o.
* Use of this source code is governed by the MIT license that can be found in the LICENSE file.
*/
package jetbrains.letsPlot.scale
import jetbrains.datalore.plot.base.Aes
import jetbrains.datalore.plot.config.Option
import jetbrains.letsPlot.intern.Options
import jetbrains.letsPlot.intern.Scale
/**
* Scales for alpha aesthetic
*
* @param range pair of numbers
* The range of the mapped aesthetics result.
* @param name string
* The name of the scale - used as the axis label or the legend title. If None, the default, the name of the scale
* is taken from the first mapping used for that aesthetic.
* @param breaks list of numbers
* A numeric vector of positions (of ticks)
* @param labels list of strings
* A vector of labels (on ticks)
* @param limits pair of numbers
* A numeric vector of length two providing limits of the scale.
* @param naValue
* An aesthetic value which is used when data in not available.
* @param format string
* Specifies the format pattern for labels on the scale.
* @param guide
* Guide to use for this scale.
* It can either be a string ("colorbar", "legend") or a call to a guide function (guideColorbar(), guideLegend())
* specifying additional arguments.
* "none" will hide the guide.
* @param trans string
* Name of built-in transformation ('identity', 'log10', 'reverse', 'sqrt').
*
* Format patterns in the `format` parameter can be just a number format (like "d") or
* a string template where number format is surrounded by curly braces: "{d} cylinders".
* Note: the "$" must be escaped as "\$"
* For more info see: https://github.com/JetBrains/lets-plot-kotlin/blob/master/docs/formats.md
*
* Examples:
* ".2f" -> "12.45"
* "Score: {.2f}" -> "Score: 12.45"
* "Score: {}" -> "Score: 12.454789"
*
*/
fun scaleAlpha(
range: Pair? = null,
name: String? = null,
breaks: List? = null,
labels: List? = null,
limits: Pair? = null,
naValue: Number? = null,
format: String? = null,
guide: Any? = null,
trans: String? = null
) = Scale(
aesthetic = Aes.ALPHA,
name = name,
breaks = breaks,
labels = labels,
limits = limits,
naValue = naValue,
format = format,
guide = guide,
trans = trans,
otherOptions = Options(
mapOf(
Option.Scale.RANGE to range?.toList()
)
)
)