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('مزرعه‌ای با این نام پیدا نشد.')