Random Chart Generation with Altair in Python

  • Share this:

Code introduction


This code defines a function named generate_random_chart that takes data as input and randomly generates different types of charts, including bar charts, line charts, point charts, and text charts. The function internally defines a list of chart types, then randomly selects one and returns it.


Technology Stack : The code uses the Altair library for data visualization and random selection of chart types.

Code Type : Function

Code Difficulty : Intermediate


                
                    
import random
import altair as alt

def generate_random_chart(data):
    """
    Generates a random chart based on the Altair library.
    """
    # Define a list of possible chart types
    chart_types = [
        alt.Chart(data).mark_bar().encode(
            alt.X('column:O', title='Column'),
            alt.Y('count:Q', title='Count')
        ),
        alt.Chart(data).mark_line().encode(
            alt.X('time:O', title='Time'),
            alt.Y('value:Q', title='Value')
        ),
        alt.Chart(data).mark_point().encode(
            alt.X('latitude:Q', title='Latitude'),
            alt.Y('longitude:Q', title='Longitude')
        ),
        alt.Chart(data).mark_text(align='left').encode(
            alt.X('year:O', title='Year'),
            alt.Y('count:Q', title='Count'),
            alt.Text('text:N', title='Text')
        )
    ]
    
    # Randomly select a chart type from the list
    selected_chart = random.choice(chart_types)
    
    # Return the selected chart
    return selected_chart

# Sample data for demonstration
data = alt.data_bar_chart()
data = alt.data_time_series()
data = alt.data_point_chart()
data = alt.data_text_chart()

# Generate a random chart
random_chart = generate_random_chart(data)

# Output the chart
random_chart.display()