Esmaeilkiani commited on
Commit
1719a72
·
verified ·
1 Parent(s): e1a0585

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +60 -0
app.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import matplotlib.pyplot as plt
4
+
5
+ # عنوان داشبورد
6
+ st.title('داشبورد تحلیل داده با استفاده از Streamlit')
7
+
8
+ # آپلود فایل اکسل
9
+ uploaded_file = st.file_uploader("یک فایل اکسل انتخاب کنید", type=["xlsx"])
10
+
11
+ if uploaded_file is not None:
12
+ # خواندن فایل اکسل
13
+ df = pd.read_excel(uploaded_file)
14
+
15
+ # نمایش داده‌های فایل اکسل
16
+ st.write("داده‌های فایل اکسل:")
17
+ st.dataframe(df)
18
+
19
+ # انتخاب ستون‌ها برای نمایش در نمودار
20
+ columns = df.columns.tolist()
21
+ x_axis = st.selectbox('ستون محور X را انتخاب کنید', options=columns)
22
+ y_axis = st.selectbox('ستون محور Y را انتخاب کنید', options=columns)
23
+
24
+ # ترسیم نمودار
25
+ if x_axis and y_axis:
26
+ fig, ax = plt.subplots()
27
+ ax.plot(df[x_axis], df[y_axis])
28
+ ax.set_xlabel(x_axis)
29
+ ax.set_ylabel(y_axis)
30
+ ax.set_title(f'نمودار {y_axis} بر حسب {x_axis}')
31
+ st.pyplot(fig)
32
+
33
+ # نمودارهای اضافی
34
+ st.subheader('نمودارهای اضافی')
35
+
36
+ # نمودار میله‌ای
37
+ st.write('نمودار میله‌ای')
38
+ fig, ax = plt.subplots()
39
+ ax.bar(df[x_axis], df[y_axis])
40
+ ax.set_xlabel(x_axis)
41
+ ax.set_ylabel(y_axis)
42
+ ax.set_title(f'نمودار میله‌ای {y_axis} بر حسب {x_axis}')
43
+ st.pyplot(fig)
44
+
45
+ # نمودار پراکندگی
46
+ st.write('نمودار پراکندگی')
47
+ fig, ax = plt.subplots()
48
+ ax.scatter(df[x_axis], df[y_axis])
49
+ ax.set_xlabel(x_axis)
50
+ ax.set_ylabel(y_axis)
51
+ ax.set_title(f'نمودار پراکندگی {y_axis} بر حسب {x_axis}')
52
+ st.pyplot(fig)
53
+
54
+ # نمودار هیستوگرام
55
+ st.write('نمودار هیستوگرام')
56
+ fig, ax = plt.subplots()
57
+ ax.hist(df[y_axis], bins=30)
58
+ ax.set_xlabel(y_axis)
59
+ ax.set_title(f'نمودار هیستوگرام {y_axis}')
60
+ st.pyplot(fig)