All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlinx.ggdsl.ir.Plot.kt Maven / Gradle / Ivy

There is a newer version: 0.4.0-dev-15
Show newest version
/*
* 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