Esmaeilkiani commited on
Commit
42da98a
1 Parent(s): 60674ab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -37
app.py CHANGED
@@ -1,9 +1,6 @@
1
  import streamlit as st
2
  import pandas as pd
3
  import plotly.express as px
4
- import streamlit as st
5
- import pandas as pd
6
- import plotly.express as px
7
 
8
  def main():
9
  st.title("داشبورد تحلیل داده‌های مزارع نیشکر")
@@ -19,47 +16,17 @@ def main():
19
  columns = data.columns.tolist()
20
  selected_columns = st.multiselect("ستون‌های مورد نظر را انتخاب کنید", columns)
21
 
22
- if selected_columns:
23
  st.write("داده‌های انتخاب شده:")
24
  selected_data = data[selected_columns]
25
  st.write(selected_data)
26
 
27
  st.write("هیستوگرام سه‌بعدی:")
28
- fig = px.histogram(selected_data, x=selected_columns[0], y=selected_columns[1], z=selected_columns[2], nbins=10)
29
  st.plotly_chart(fig)
 
 
30
 
31
  if __name__ == "__main__":
32
  main()
33
 
34
- # توابع کمکی
35
- def calculate_growth(df, week):
36
- df['growth'] = df['ارتفاع هفته جاری مزرعه'] - df['ارتفاع هفته گذشته مزرعه']
37
- df = df[df['هفته'] == week]
38
- return df
39
-
40
- def format_number(num):
41
- return f"{num:,}"
42
-
43
- # بارگذاری داده‌ها
44
- df = pd.read_csv('path_to_your_csv_file.csv')
45
-
46
- # تنظیم داشبورد
47
- st.title('داشبورد تجزیه و تحلیل مزارع نیشکر')
48
-
49
- selected_week = st.slider('هفته را انتخاب کنید', min_value=df['هفته'].min(), max_value=df['هفته'].max(), value=df['هفته'].min(), step=1)
50
-
51
- df_growth = calculate_growth(df, selected_week)
52
-
53
- # ایجاد نمودارهای سه‌بعدی
54
- fig1 = px.scatter_3d(df_growth, x='ارتفاع هفته جاری مزرعه', y='رشد هفته جاری', z='نیتروژن فعلی', color='واریته', title='ارتفاع و رشد در مقابل نیتروژن')
55
- fig2 = px.scatter_3d(df_growth, x='ارتفاع هفته جاری مزرعه', y='رشد هفته جاری', z='رطوبت غلاف فعلی', color='واریته', title='ارتفاع و رشد در مقابل رطوبت')
56
- fig3 = px.scatter_3d(df_growth, x='ارتفاع هفته جاری مزرعه', y='رشد هفته گذشته', z='نیتروژن قبلی', color='واریته', title='ارتفاع و رشد گذشته در مقابل نیتروژن')
57
- fig4 = px.scatter_3d(df_growth, x='ارتفاع هفته گذشته مزرعه', y='رشد هفته جاری', z='رطوبت غلاف قبلی', color='واریته', title='ارتفاع گذشته و رشد در مقابل رطوبت')
58
- fig5 = px.scatter_3d(df_growth, x='نیتروژن فعلی', y='رطوبت غلاف فعلی', z='ارتفاع هفته جاری مزرعه', color='واریته', title='نیتروژن و رطوبت در مقابل ارتفاع')
59
-
60
- # نمایش نمودارها
61
- st.plotly_chart(fig1)
62
- st.plotly_chart(fig2)
63
- st.plotly_chart(fig3)
64
- st.plotly_chart(fig4)
65
- st.plotly_chart(fig5)
 
1
  import streamlit as st
2
  import pandas as pd
3
  import plotly.express as px
 
 
 
4
 
5
  def main():
6
  st.title("داشبورد تحلیل داده‌های مزارع نیشکر")
 
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