study2 / app.py
GSMEthesis's picture
Update app.py
a3342e1 verified
raw
history blame
1.18 kB
import streamlit as st
import plotly.graph_objects as go
# طیف گسسته
labels = ["خیلی کم", "کم", "نسبتاً کم", "متوسط", "نسبتاً زیاد", "زیاد", "خیلی زیاد"]
positions = list(range(len(labels)))
# انتخاب عددی از اسلایدر معمولی
selected = st.slider("انتخاب شدت", min_value=0, max_value=6, value=3, step=1)
# نمایش طیف با رنگ بنفش روی گزینه انتخاب‌شده
fig = go.Figure()
fig.add_trace(go.Scatter(
x=positions,
y=[0]*len(labels),
mode='markers+text',
marker=dict(size=20, color=['#d1c4e9' if i != selected else '#8e44ad' for i in positions]),
text=labels,
textposition="top center"
))
fig.update_layout(
xaxis=dict(
tickmode='array',
tickvals=positions,
ticktext=labels,
showgrid=False,
zeroline=False
),
yaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
margin=dict(l=20, r=20, t=20, b=20),
height=200,
showlegend=False
)
st.plotly_chart(fig, use_container_width=True)
# نمایش انتخاب
st.write(f"انتخاب شما: **{labels[selected]}**")