org.jetbrains.kotlinx.ggdsl.ir.Plot.kt Maven / Gradle / Ivy
/*
* Copyright 2020-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package org.jetbrains.kotlinx.ggdsl.ir
import kotlinx.serialization.Serializable
import org.jetbrains.kotlinx.ggdsl.ir.aes.AesName
import org.jetbrains.kotlinx.ggdsl.ir.bindings.Mapping
import org.jetbrains.kotlinx.ggdsl.ir.data.TableData
import org.jetbrains.kotlinx.ggdsl.ir.feature.FeatureName
import org.jetbrains.kotlinx.ggdsl.ir.feature.PlotFeature
import org.jetbrains.kotlinx.ggdsl.ir.scale.FreeScale
/**
* The main IR structure describing the plot. Basically, plot is a collection of layers.
*
* @param dataset the main dataset, from which the data are taken
* in case the layer dataset is not overwritten.
* @param layers the [List] of [Layer] in this plot.
* @param globalMappings the map of aesthetic names to mappings defined at the top level (for internal use);
* keys are aesthetic names, values are mappings on corresponding aesthetics.
* @param features [Map] of the to plot features; keys are feature names,
* values are features with corresponding names.
* @param freeScales [Map] of free scales; keys are aesthetic names,
* values are corresponding free scales.
*/
@Serializable
public data class Plot(
val dataset: TableData,
val layers: List,
val globalMappings: Map,
val features: Map,
val freeScales: Map,
)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy