fruitpicker01's picture
Update app.py
27bcd5b verified
raw
history blame
1.51 kB
import gradio as gr
import plotly.graph_objects as go
def create_fancy_gauge(value=76):
fig = go.Figure(go.Indicator(
mode="gauge+number+delta", # Добавим дельту для сравнения
value=value,
title={'text': "Success Rate", 'font': {'size': 24}},
delta={'reference': 70, 'increasing': {'color': "green"}},
gauge={
'axis': {'range': [0, 100], 'tickwidth': 1, 'tickcolor': "darkblue"},
'bar': {'color': "darkblue"},
'bgcolor': "white",
'borderwidth': 2,
'bordercolor': "gray",
'steps': [
{'range': [0, 50], 'color': 'lightgray'},
{'range': [50, 75], 'color': 'yellow'},
{'range': [75, 100], 'color': 'green'}
],
'threshold': {
'line': {'color': "red", 'width': 4},
'thickness': 0.75,
'value': value
}
}
))
fig.update_layout(
font={'color': "darkblue", 'family': "Arial"},
height=400,
margin={'t': 0, 'b': 0}
)
return fig
# Gradio интерфейс для отображения
def show_fancy_gauge():
return create_fancy_gauge(76)
with gr.Blocks() as demo:
gr.Markdown("### Улучшенный спидометр с вероятностью успеха")
output = gr.Plot(label="Success Rate Gauge")
demo.load(fn=show_fancy_gauge, inputs=[], outputs=output)
demo.launch()