Spaces:
Running
Running
Commit ·
46d2ac4
1
Parent(s): 0b848ad
Fix Logistics view grade chart: horizontal bars matching Design view
Browse files
app.py
CHANGED
|
@@ -686,18 +686,24 @@ elif selected_view == "Design":
|
|
| 686 |
"Refurb Cost": [int(d_repair_cost * 0.25), int(d_repair_cost), config["costs"]["refurbishment"]["grade_c"]],
|
| 687 |
})
|
| 688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 689 |
fig_grades = go.Figure()
|
| 690 |
fig_grades.add_trace(go.Bar(
|
| 691 |
-
|
| 692 |
-
|
| 693 |
-
|
| 694 |
-
|
|
|
|
| 695 |
textposition="outside",
|
| 696 |
))
|
| 697 |
fig_grades.update_layout(
|
| 698 |
title="Return Grade Distribution", showlegend=False,
|
| 699 |
-
xaxis=dict(
|
| 700 |
-
yaxis=dict(
|
|
|
|
| 701 |
)
|
| 702 |
st.plotly_chart(fig_grades, use_container_width=True, config={"displayModeBar": False})
|
| 703 |
|
|
@@ -785,8 +791,9 @@ elif selected_view == "Design":
|
|
| 785 |
fig_gauge = go.Figure(go.Indicator(
|
| 786 |
mode="gauge+number",
|
| 787 |
value=functional_pct,
|
| 788 |
-
number={"suffix": "%", "font": {"size":
|
| 789 |
title={"text": f"Cycle {cycle_num}", "font": {"size": 14}},
|
|
|
|
| 790 |
gauge={
|
| 791 |
"axis": {"range": [0, 100], "tickwidth": 1},
|
| 792 |
"bar": {"color": gauge_color},
|
|
@@ -801,8 +808,8 @@ elif selected_view == "Design":
|
|
| 801 |
},
|
| 802 |
))
|
| 803 |
fig_gauge.update_layout(
|
| 804 |
-
height=
|
| 805 |
-
margin=dict(t=
|
| 806 |
)
|
| 807 |
with col:
|
| 808 |
st.plotly_chart(fig_gauge, use_container_width=True)
|
|
@@ -844,18 +851,24 @@ elif selected_view == "Logistics":
|
|
| 844 |
"Refurb Cost": [refurb_a, refurb_b, config["costs"]["refurbishment"]["grade_c"]],
|
| 845 |
})
|
| 846 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 847 |
fig_grades = go.Figure()
|
| 848 |
fig_grades.add_trace(go.Bar(
|
| 849 |
-
|
| 850 |
-
|
| 851 |
-
|
| 852 |
-
|
|
|
|
| 853 |
textposition="outside",
|
| 854 |
))
|
| 855 |
fig_grades.update_layout(
|
| 856 |
title="Return Grade Distribution", showlegend=False,
|
| 857 |
-
xaxis=dict(
|
| 858 |
-
yaxis=dict(
|
|
|
|
| 859 |
)
|
| 860 |
st.plotly_chart(fig_grades, use_container_width=True, config={"displayModeBar": False})
|
| 861 |
|
|
|
|
| 686 |
"Refurb Cost": [int(d_repair_cost * 0.25), int(d_repair_cost), config["costs"]["refurbishment"]["grade_c"]],
|
| 687 |
})
|
| 688 |
|
| 689 |
+
grade_labels = ["C (Scrap)", "B (Repair needed)", "A (Clean only)"]
|
| 690 |
+
grade_values = [d_grade_c_pct * 100, d_grade_b_pct * 100, d_grade_a_pct * 100]
|
| 691 |
+
grade_colors = [COLORS["negative"], COLORS["warning"], COLORS["positive"]]
|
| 692 |
+
|
| 693 |
fig_grades = go.Figure()
|
| 694 |
fig_grades.add_trace(go.Bar(
|
| 695 |
+
y=grade_labels,
|
| 696 |
+
x=grade_values,
|
| 697 |
+
orientation="h",
|
| 698 |
+
marker_color=grade_colors,
|
| 699 |
+
text=[f"{v:.1f}%" for v in grade_values],
|
| 700 |
textposition="outside",
|
| 701 |
))
|
| 702 |
fig_grades.update_layout(
|
| 703 |
title="Return Grade Distribution", showlegend=False,
|
| 704 |
+
xaxis=dict(range=[0, 105], title="% of Returns"),
|
| 705 |
+
yaxis=dict(type="category"),
|
| 706 |
+
height=250, hovermode="closest",
|
| 707 |
)
|
| 708 |
st.plotly_chart(fig_grades, use_container_width=True, config={"displayModeBar": False})
|
| 709 |
|
|
|
|
| 791 |
fig_gauge = go.Figure(go.Indicator(
|
| 792 |
mode="gauge+number",
|
| 793 |
value=functional_pct,
|
| 794 |
+
number={"suffix": "%", "font": {"size": 22}, "valueformat": ".0f"},
|
| 795 |
title={"text": f"Cycle {cycle_num}", "font": {"size": 14}},
|
| 796 |
+
domain={"x": [0, 1], "y": [0, 1]},
|
| 797 |
gauge={
|
| 798 |
"axis": {"range": [0, 100], "tickwidth": 1},
|
| 799 |
"bar": {"color": gauge_color},
|
|
|
|
| 808 |
},
|
| 809 |
))
|
| 810 |
fig_gauge.update_layout(
|
| 811 |
+
height=220,
|
| 812 |
+
margin=dict(t=50, b=0, l=20, r=20),
|
| 813 |
)
|
| 814 |
with col:
|
| 815 |
st.plotly_chart(fig_gauge, use_container_width=True)
|
|
|
|
| 851 |
"Refurb Cost": [refurb_a, refurb_b, config["costs"]["refurbishment"]["grade_c"]],
|
| 852 |
})
|
| 853 |
|
| 854 |
+
l_grade_labels = ["C (Scrap)", "B (Refurbish)", "A (Reusable)"]
|
| 855 |
+
l_grade_values = [grade_c_pct * 100, grade_b_pct * 100, grade_a_pct * 100]
|
| 856 |
+
l_grade_colors = [COLORS["negative"], COLORS["warning"], COLORS["positive"]]
|
| 857 |
+
|
| 858 |
fig_grades = go.Figure()
|
| 859 |
fig_grades.add_trace(go.Bar(
|
| 860 |
+
y=l_grade_labels,
|
| 861 |
+
x=l_grade_values,
|
| 862 |
+
orientation="h",
|
| 863 |
+
marker_color=l_grade_colors,
|
| 864 |
+
text=[f"{v:.0f}%" for v in l_grade_values],
|
| 865 |
textposition="outside",
|
| 866 |
))
|
| 867 |
fig_grades.update_layout(
|
| 868 |
title="Return Grade Distribution", showlegend=False,
|
| 869 |
+
xaxis=dict(range=[0, 105], title="% of Returns"),
|
| 870 |
+
yaxis=dict(type="category"),
|
| 871 |
+
height=250, hovermode="closest",
|
| 872 |
)
|
| 873 |
st.plotly_chart(fig_grades, use_container_width=True, config={"displayModeBar": False})
|
| 874 |
|