|
import streamlit as st |
|
import pandas as pd |
|
import matplotlib.pyplot as plt |
|
|
|
|
|
uploaded_file = st.file_uploader("Choose a CSV file", type="csv") |
|
|
|
|
|
time_frame_options = ["1์ด", "5์ด", "10์ด", "30์ด", "1๋ถ", "5๋ถ", "10๋ถ", "30๋ถ", "60๋ถ"] |
|
time_frame = st.selectbox("๋ฐ์ดํฐ ํ์ ํ๋ ์ ์ ํ:", time_frame_options) |
|
time_frame_map = {"1์ด": 1/60, "5์ด": 5/60, "10์ด": 10/60, "30์ด": 30/60, "1๋ถ": 1, "5๋ถ": 5, "10๋ถ": 10, "30๋ถ": 30, "60๋ถ": 60} |
|
time_frame_minutes = time_frame_map[time_frame] |
|
|
|
if uploaded_file: |
|
|
|
df = pd.read_csv(uploaded_file) |
|
|
|
|
|
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms') |
|
|
|
|
|
df_resampled = df.resample(f'{time_frame_minutes}T', on='timestamp').mean() |
|
|
|
|
|
fig_rgb, ax_rgb = plt.subplots(figsize=(15, 5)) |
|
ax_rgb.plot(df_resampled['R'], label='R') |
|
ax_rgb.plot(df_resampled['G'], label='G') |
|
ax_rgb.plot(df_resampled['B'], label='B') |
|
ax_rgb.set_title('RGB Color Variation') |
|
ax_rgb.set_xlabel('Time') |
|
ax_rgb.set_ylabel('Value') |
|
ax_rgb.legend() |
|
st.pyplot(fig_rgb) |
|
|
|
|
|
fig_hsv, ax_hsv = plt.subplots(figsize=(15, 5)) |
|
ax_hsv.plot(df_resampled['H'], label='H') |
|
ax_hsv.plot(df_resampled['S'], label='S') |
|
ax_hsv.plot(df_resampled['V'], label='V') |
|
ax_hsv.set_title('HSV Color Variation') |
|
ax_hsv.set_xlabel('Time') |
|
ax_hsv.set_ylabel('Value') |
|
ax_hsv.legend() |
|
st.pyplot(fig_hsv) |
|
|
|
|