Random Vega Chart Generator

  • Share this:

Code introduction


This Python function uses the Vega library to randomly select a chart type and a dataset, and generates the corresponding Vega chart.


Technology Stack : Python, Vega

Code Type : Python custom function

Code Difficulty : Intermediate


                
                    
import random
import vega
import vega.datasets

def generate_random_vega_chart():
    # Randomly select a type of chart to generate
    chart_types = ["bar", "line", "area", "point", "scatter", "heatmap", "pie", "tree", "wordcloud"]
    chart_type = random.choice(chart_types)

    # Randomly select a dataset to use
    datasets = vega.datasets.list_datasets()
    dataset = random.choice(datasets)

    # Create a Vega chart with the selected dataset and type
    chart = vega_chart(
        data={"values": vega.datasets.get(dataset).values},
        mark=chart_type,
        encoding={
            "x": {"field": "x", "type": "quantitative"},
            "y": {"field": "y", "type": "quantitative"},
            "color": {"field": "color", "type": "nominal"}
        }
    )

    return chart

# Vega chart definition
def vega_chart(data, mark, encoding):
    return {
        "$schema": "https://vega.github.io/vega/schema.json",
        "data": [
            {
                "name": "table",
                "values": data["values"]
            }
        ],
        "mark": mark,
        "encoding": encoding
    }                
              
Tags: