Esmaeilkiani commited on
Commit
15ff9c7
1 Parent(s): 42da98a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -24
app.py CHANGED
@@ -1,32 +1,50 @@
1
  import streamlit as st
2
  import pandas as pd
3
- import plotly.express as px
 
4
 
5
- def main():
6
- st.title("داشبورد تحلیل داده‌های مزارع نیشکر")
7
- st.write("این داشبورد به شما اجازه می‌دهد تا داده‌های مزارع نیشکر را تحلیل کنید و گزارش‌های مختلفی را مشاهده کنید.")
 
8
 
9
- uploaded_file = st.file_uploader("فایل CSV خود را آپلود کنید", type=["csv"])
 
 
 
 
 
 
 
10
 
11
- if uploaded_file is not None:
12
- data = pd.read_csv(uploaded_file)
13
- st.write("داده‌های آپلود شده:")
14
- st.write(data)
15
 
16
- columns = data.columns.tolist()
17
- selected_columns = st.multiselect("ستون‌های مورد نظر را انتخاب کنید", columns)
18
 
19
- if len(selected_columns) == 3:
20
- st.write("داده‌های انتخاب شده:")
21
- selected_data = data[selected_columns]
22
- st.write(selected_data)
23
 
24
- st.write("هیستوگرام سه‌بعدی:")
25
- fig = px.scatter_3d(selected_data, x=selected_columns[0], y=selected_columns[1], z=selected_columns[2])
26
- st.plotly_chart(fig)
27
- else:
28
- st.warning("لطفا سه ستون را انتخاب کنید.")
29
-
30
- if __name__ == "__main__":
31
- main()
32
-
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
  import pandas as pd
3
+ import matplotlib.pyplot as plt
4
+ from mpl_toolkits.mplot3d import Axes3D
5
 
6
+ # بارگذاری داده‌ها
7
+ @st.cache
8
+ def load_data():
9
+ return pd.read_csv('farm_data.csv')
10
 
11
+ data = load_data()
12
+
13
+ # ساختار صفحه اصلی
14
+ st.title('داشبورد مدیریت مزرعه')
15
+
16
+ farm_name = st.text_input('نام مزرعه را وارد کنید')
17
+ if st.button('جستجو'):
18
+ farm_info = data[data['نام'] == farm_name]
19
 
20
+ if not farm_info.empty:
21
+ st.write(f"اطلاعات مزرعه: {farm_name}")
 
 
22
 
23
+ # نمایش جدول اطلاعات
24
+ st.write(farm_info[['اداره', 'کانال', 'سن', 'واریته', 'مساحت', 'ارتفاع', 'اینتروال']])
25
 
26
+ if st.button('تحلیل داده‌ها'):
27
+ height = farm_info['ارتفاع'].values[0]
28
+ interval = farm_info['اینتروال'].values[0]
 
29
 
30
+ fig = plt.figure()
31
+ ax = fig.add_subplot(111, projection='3d')
32
+
33
+ # داده‌ها برای هیستوگرام سه‌بعدی
34
+ xs = [1, 2]
35
+ ys = [height, interval]
36
+ zs = [0, 0]
37
+ dx = dy = 0.5
38
+ dz = [height, interval]
39
+
40
+ ax.bar3d(xs, ys, zs, dx, dy, dz, color=['g', 'b'])
41
+
42
+ ax.set_xlabel('شاخص')
43
+ ax.set_ylabel('مقدار')
44
+ ax.set_zlabel('ارتفاع و اینتروال')
45
+ ax.set_xticks(xs)
46
+ ax.set_xticklabels(['ارتفاع', 'اینتروال'])
47
+
48
+ st.pyplot(fig)
49
+ else:
50
+ st.error('مزرعه‌ای با این نام پیدا نشد.')