commonMain.jetbrains.datalore.plot.config.PlotConfigMapperProviders.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lets-plot-common Show documentation
Show all versions of lets-plot-common Show documentation
Lets-Plot JVM package without rendering part
/*
* Copyright (c) 2022. 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.datalore.plot.config
import jetbrains.datalore.plot.base.Aes
import jetbrains.datalore.plot.builder.scale.DefaultMapperProvider
import jetbrains.datalore.plot.builder.scale.MapperProvider
internal object PlotConfigMapperProviders {
internal fun createMapperProviders(
layerConfigs: List,
scaleConfigs: List>,
excludeStatVariables: Boolean
): Map, MapperProvider<*>> {
val setup = PlotConfigUtil.createPlotAesBindingSetup(layerConfigs, excludeStatVariables)
// All aes used in bindings and x/y aes.
val aesSet = setup.mappedAesWithoutStatPositional() + setOf(Aes.X, Aes.Y)
val defaultProviders = aesSet.associateWith { DefaultMapperProvider[it] }
val configuredProviders = scaleConfigs.map {
it.aes to it.createMapperProvider()
}.toMap()
return defaultProviders + configuredProviders
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy