fruitpicker01 commited on
Commit
235357d
1 Parent(s): df1915c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -3
app.py CHANGED
@@ -1,4 +1,40 @@
1
  import gradio as gr
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  # Функция для смены вкладки
4
  def change_tab(id):
@@ -67,19 +103,19 @@ with gr.Blocks() as demo:
67
  with gr.Row():
68
  personalized_message_1 = gr.Textbox(label="Персонализированное сообщение 1", lines=4)
69
  check_message_1 = gr.Textbox(label="Проверка сообщения 1", lines=4)
70
- success_forecast_1 = gr.Textbox(label="Прогноз успешности сообщения 1", lines=4)
71
 
72
  # Второй ряд
73
  with gr.Row():
74
  personalized_message_2 = gr.Textbox(label="Персонализированное сообщение 2", lines=4)
75
  check_message_2 = gr.Textbox(label="Проверка сообщения 2", lines=4)
76
- success_forecast_2 = gr.Textbox(label="Прогноз успешности сообщения 2", lines=4)
77
 
78
  # Третий ряд
79
  with gr.Row():
80
  personalized_message_3 = gr.Textbox(label="Персонализированное сообщение 3", lines=4)
81
  check_message_3 = gr.Textbox(label="Проверка сообщения 3", lines=4)
82
- success_forecast_3 = gr.Textbox(label="Прогноз успешности сообщения 3", lines=4)
83
 
84
 
85
  demo.launch()
 
1
  import gradio as gr
2
+ import plotly.graph_objects as go
3
+
4
+ # Функция для создания спидометра
5
+ def create_gauge(value):
6
+ fig = go.Figure(go.Indicator(
7
+ mode="gauge+number",
8
+ value=value,
9
+ gauge={
10
+ 'axis': {'range': [0, 100]},
11
+ 'bar': {'color': "black"}, # Цвет стрелки
12
+ 'steps': [
13
+ {'range': [0, 40], 'color': "#55efc4"}, # Мягкий зеленый
14
+ {'range': [40, 70], 'color': "#ffeaa7"}, # Желтый
15
+ {'range': [70, 100], 'color': "#ff7675"} # Мягкий красный
16
+ ],
17
+ 'threshold': {
18
+ 'line': {'color': "black", 'width': 4},
19
+ 'thickness': 0.75,
20
+ 'value': value
21
+ }
22
+ },
23
+ number={'font': {'size': 48}} # Размер шрифта числа
24
+ ))
25
+ fig.update_layout(paper_bgcolor="#f8f9fa", # Цвет фона
26
+ font={'color': "#2d3436", 'family': "Arial"}) # Цвет текста
27
+ return fig
28
+
29
+ # Значения для спидометров
30
+ def get_success_forecast_1():
31
+ return create_gauge(76)
32
+
33
+ def get_success_forecast_2():
34
+ return create_gauge(85)
35
+
36
+ def get_success_forecast_3():
37
+ return create_gauge(62)
38
 
39
  # Функция для смены вкладки
40
  def change_tab(id):
 
103
  with gr.Row():
104
  personalized_message_1 = gr.Textbox(label="Персонализированное сообщение 1", lines=4)
105
  check_message_1 = gr.Textbox(label="Проверка сообщения 1", lines=4)
106
+ success_forecast_1 = gr.Plot(value=get_success_forecast_1(), label="Прогноз успешности сообщения 1") # Спидометр 1
107
 
108
  # Второй ряд
109
  with gr.Row():
110
  personalized_message_2 = gr.Textbox(label="Персонализированное сообщение 2", lines=4)
111
  check_message_2 = gr.Textbox(label="Проверка сообщения 2", lines=4)
112
+ success_forecast_2 = gr.Plot(value=get_success_forecast_2(), label="Прогноз успешности сообщения 2") # Спидометр 2
113
 
114
  # Третий ряд
115
  with gr.Row():
116
  personalized_message_3 = gr.Textbox(label="Персонализированное сообщение 3", lines=4)
117
  check_message_3 = gr.Textbox(label="Проверка сообщения 3", lines=4)
118
+ success_forecast_3 = gr.Plot(value=get_success_forecast_3(), label="Прогноз успешности сообщения 3") # Спидометр 3
119
 
120
 
121
  demo.launch()