Update core/visualizations.py
Browse files- core/visualizations.py +22 -4
core/visualizations.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
"""
|
| 2 |
-
Enhanced investor-grade visualizations
|
| 3 |
"""
|
| 4 |
|
| 5 |
import plotly.graph_objects as go
|
|
@@ -106,7 +106,27 @@ class EnhancedVisualizationEngine:
|
|
| 106 |
return fig
|
| 107 |
|
| 108 |
def create_executive_dashboard(self, user_roi: Optional[Dict] = None) -> go.Figure:
|
| 109 |
-
"""Create comprehensive executive dashboard"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
fig = make_subplots(
|
| 111 |
rows=2, cols=2,
|
| 112 |
subplot_titles=(
|
|
@@ -183,8 +203,6 @@ class EnhancedVisualizationEngine:
|
|
| 183 |
)
|
| 184 |
|
| 185 |
# 4. ROI Gauge
|
| 186 |
-
roi_value = user_roi.get('roi_multiplier', 5.2) if user_roi else 5.2
|
| 187 |
-
|
| 188 |
fig.add_trace(
|
| 189 |
go.Indicator(
|
| 190 |
mode="gauge+number+delta",
|
|
|
|
| 1 |
"""
|
| 2 |
+
Enhanced investor-grade visualizations - FIXED VERSION
|
| 3 |
"""
|
| 4 |
|
| 5 |
import plotly.graph_objects as go
|
|
|
|
| 106 |
return fig
|
| 107 |
|
| 108 |
def create_executive_dashboard(self, user_roi: Optional[Dict] = None) -> go.Figure:
|
| 109 |
+
"""Create comprehensive executive dashboard - FIXED VERSION"""
|
| 110 |
+
# FIX: Handle None or empty user_roi
|
| 111 |
+
if user_roi is None:
|
| 112 |
+
user_roi = {}
|
| 113 |
+
|
| 114 |
+
# Get ROI value safely
|
| 115 |
+
roi_value = user_roi.get('roi_multiplier', 5.2)
|
| 116 |
+
|
| 117 |
+
# If roi_value is a string with "×", convert it
|
| 118 |
+
if isinstance(roi_value, str):
|
| 119 |
+
if "×" in roi_value:
|
| 120 |
+
try:
|
| 121 |
+
roi_value = float(roi_value.replace("×", ""))
|
| 122 |
+
except:
|
| 123 |
+
roi_value = 5.2
|
| 124 |
+
else:
|
| 125 |
+
try:
|
| 126 |
+
roi_value = float(roi_value)
|
| 127 |
+
except:
|
| 128 |
+
roi_value = 5.2
|
| 129 |
+
|
| 130 |
fig = make_subplots(
|
| 131 |
rows=2, cols=2,
|
| 132 |
subplot_titles=(
|
|
|
|
| 203 |
)
|
| 204 |
|
| 205 |
# 4. ROI Gauge
|
|
|
|
|
|
|
| 206 |
fig.add_trace(
|
| 207 |
go.Indicator(
|
| 208 |
mode="gauge+number+delta",
|