-1

Graph doesn't display according to designated dates.

Tried to create a automated plotly line graph to convert csv files to PNG format

import pandas as pd
import plotly.express as px

def present_line(csv_file, date_columns=['06/02/2024', '06/09/2024', '06/16/2024', '06/23/2024', '06/30/2024']):
# Read CSV file
df = pd.read_csv(csv_file)

# Check if all specific date columns exist in the dataframe
if not all(date in df.columns for date in date_columns):
    # Find which columns are missing
    missing_dates = [date for date in date_columns if date not in df.columns]
    raise ValueError(f"Missing date columns in the CSV file: {', '.join(missing_dates)}")

# Convert the specific date columns to datetime format
for date in date_columns:
    df[date] = pd.to_datetime(df[date], format='%m/%d/%Y', errors='coerce')

# Drop rows with invalid dates
df = df.dropna(subset=date_columns)

# Melt the dataframe to have a 'Date' and 'Attendance' column
df_melted = df.melt(id_vars=[], value_vars=date_columns, var_name='Date', value_name='Attendance')

# Ensure the 'Attendance' column contains numerical data
df_melted['Attendance'] = pd.to_numeric(df_melted['Attendance'], errors='coerce')
df_melted = df_melted.dropna(subset=['Attendance'])

# Sort the data by date
df_melted = df_melted.sort_values(by='Date')

# Create the line chart
fig = px.line(df_melted, x='Date', y='Attendance', title='Attendance Over Time')

# Display the plot
fig.show()

Any help would be much appreciated.

0