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]}**")