DashboardInput / app.py
Esmaeilkiani's picture
Update app.py
15ff9c7 verified
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# بارگذاری داده‌ها
@st.cache
def load_data():
return pd.read_csv('farm_data.csv')
data = load_data()
# ساختار صفحه اصلی
st.title('داشبورد مدیریت مزرعه')
farm_name = st.text_input('نام مزرعه را وارد کنید')
if st.button('جستجو'):
farm_info = data[data['نام'] == farm_name]
if not farm_info.empty:
st.write(f"اطلاعات مزرعه: {farm_name}")
# نمایش جدول اطلاعات
st.write(farm_info[['اداره', 'کانال', 'سن', 'واریته', 'مساحت', 'ارتفاع', 'اینتروال']])
if st.button('تحلیل داده‌ها'):
height = farm_info['ارتفاع'].values[0]
interval = farm_info['اینتروال'].values[0]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# داده‌ها برای هیستوگرام سه‌بعدی
xs = [1, 2]
ys = [height, interval]
zs = [0, 0]
dx = dy = 0.5
dz = [height, interval]
ax.bar3d(xs, ys, zs, dx, dy, dz, color=['g', 'b'])
ax.set_xlabel('شاخص')
ax.set_ylabel('مقدار')
ax.set_zlabel('ارتفاع و اینتروال')
ax.set_xticks(xs)
ax.set_xticklabels(['ارتفاع', 'اینتروال'])
st.pyplot(fig)
else:
st.error('مزرعه‌ای با این نام پیدا نشد.')