Random DataFrame Plot Generator

  • Share this:

Code introduction


This function generates a random plot based on the data in the given DataFrame. It randomly selects the plot type, mode, and columns to plot.


Technology Stack : The packages and technologies used in the code include Plotly (for plotting) and Pandas (for handling data frames).

Code Type : The type of code

Code Difficulty :


                
                    
import random
import plotly.graph_objects as go
import pandas as pd

def generate_random_plot(df):
    """
    Generates a random plot based on the data in the given DataFrame.
    """
    # Randomly select a plot type
    plot_type = random.choice(['scatter', 'bar', 'line', 'histogram'])

    # Randomly select a mode for the plot
    mode = random.choice(['lines+markers', 'markers', 'lines'])

    # Create a figure object
    fig = go.Figure()

    # Randomly select columns to plot
    x_column = random.choice(df.columns)
    y_column = random.choice(df.columns)

    # Add trace to the figure based on the plot type
    if plot_type == 'scatter':
        fig.add_trace(go.Scatter(x=df[x_column], y=df[y_column], mode=mode))
    elif plot_type == 'bar':
        fig.add_trace(go.Bar(x=df[x_column], y=df[y_column], mode=mode))
    elif plot_type == 'line':
        fig.add_trace(go.Scatter(x=df[x_column], y=df[y_column], mode=mode, type='line'))
    elif plot_type == 'histogram':
        fig.add_trace(go.Histogram(x=df[x_column], ybins='auto', mode=mode))

    # Update layout
    fig.update_layout(title='Random Plot', xaxis_title=x_column, yaxis_title=y_column)

    # Show plot
    fig.show()

# Example usage:
# Assuming you have a DataFrame 'data_df' with some numerical columns
# generate_random_plot(data_df)