Spaces:
Runtime error
Runtime error
File size: 2,655 Bytes
77d4332 8dcbf36 776a051 aca1203 1c9ee4f 6399810 f7443b0 4fdaccf ecd5dc3 6399810 44ccab3 9dbbffa 1c9ee4f ec1dfa8 512c996 5aa6db0 6399810 00e2973 fe9e9e8 512c996 ec1dfa8 d3b66db ec1dfa8 b9bf4a7 ec1dfa8 be592c7 bd290be 0725516 d3b66db 0725516 776a051 b9bf4a7 52d66f1 776a051 a291e9a 776a051 a291e9a cc59a5c a291e9a b13adf1 dc4d216 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 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 |