Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import pandas as pd | |
| import seaborn as sns | |
| import matplotlib.pyplot as plt | |
| # Load data | |
| data_y = pd.read_csv("merged_y.csv") | |
| data_p = pd.read_csv("merged_p.csv") | |
| # Sidebar - เลือกปีเริ่มต้นและสิ้นสุด | |
| start_year =st.sidebar.selectbox("เลือกปีเริ่มต้น",options=list(range(2002, 2024))) | |
| end_year = st.sidebar.selectbox("เลือกปีสิ้นสุด", options=list(range(start_year, 2025))) | |
| # Filter data based on selected years | |
| data_y['date'] =pd.to_datetime(data_y['date']) | |
| data_p['date'] = pd.to_datetime(data_p['date']) | |
| # Filter data based on selected years | |
| filtered_data = data_y[(data_y["date"].dt.year >= start_year) & (data_y["date"].dt.year <= end_year)] | |
| filtered_data_p = data_p[(data_p["date"].dt.year >= start_year) & (data_p["date"].dt.year <= end_year)] | |
| # สร้างตัวเลือก Selectbox | |
| selected_data = st.sidebar.selectbox("เลือกข้อมูลที่ต้องการโชว์", | |
| options=["Electricity", "LPG", "Diesel"]) | |
| # Filter data based on selected data type | |
| filtered_data = filtered_data[filtered_data["symbol"] == selected_data] | |
| filtered_data_p = filtered_data_p[filtered_data_p["symbol"] == selected_data] | |
| # Plot time series | |
| filtered_data['date']= pd.to_datetime(filtered_data['date'])# | |
| filtered_data_p['date']= pd.to_datetime(filtered_data_p['date'])# | |
| filtered_data['date'] = filtered_data['date'].dt.strftime('%Y-%m-%d') | |
| filtered_data_p['date'] = filtered_data_p['date'].dt.strftime('%Y-%m-%d') | |
| db = filtered_data.copy() | |
| db_p = filtered_data_p.copy() | |
| db['date']= pd.to_datetime(db['date']) | |
| db_p['date']= pd.to_datetime(db_p['date']) | |
| db['date'] = db['date'].dt.strftime('%Y-%m-%d') | |
| db_p['date'] = db_p['date'].dt.strftime('%Y-%m-%d') | |
| def plot_graph(x, y, xp, yp): | |
| st.write("### กราฟเส้น Time Series ตั้งแต่ปี"+" "+str(start_year)+" "+"ถึงปี"+" "+str(end_year)) | |
| plt.figure(figsize=(10,6)) | |
| sns.set(style="whitegrid") # ตั้งค่าสไตล์กราฟของ Seaborn | |
| color = 'yellow' if selected_data == 'Electricity' else 'green' if selected_data == 'LPG' else 'red' | |
| sns.lineplot(x=x, y=y, label="Actual", color=color) # ใช้ sns.lineplot() แทน plt.plot() เพื่อสร้างกราฟเส้น | |
| sns.lineplot(x=xp, y=yp, label="Predict", color="blue") | |
| plt.xlabel("Date") | |
| plt.ylabel("Value") | |
| plt.title("Time Series plot") | |
| plt.legend() | |
| return st.pyplot(plt) | |
| plot_graph(db['date'], db['Y'], db_p['date'], db_p['predict']) | |
| #5555555 |