Visualizations¶
The Financial Health Calculator includes beautiful Plotly visualizations for understanding your financial health.
Available Charts¶
CEFR Waterfall Chart¶
Shows how haircuts affect your effective assets:
from fundedness.viz import plot_cefr_waterfall
fig = plot_cefr_waterfall(cefr_result)
fig.show()
The waterfall shows:
- Starting gross assets
- Tax haircut reduction
- Liquidity haircut reduction
- Reliability haircut reduction
- Final effective assets
Simulation Fan Chart¶
Visualizes the range of portfolio outcomes:
from fundedness.viz import plot_simulation_fan_chart
fig = plot_simulation_fan_chart(simulation_results)
fig.show()
Features:
- Median trajectory line
- 25th-75th percentile band (likely range)
- 5th-95th percentile band (extended range)
- Individual simulation traces (optional)
Portfolio Survival Curve¶
Shows probability of portfolio lasting each year:
from fundedness.viz import plot_survival_curve
fig = plot_survival_curve(simulation_results)
fig.show()
Useful for understanding:
- When portfolio failure risk increases
- How different strategies affect longevity
Strategy Comparison Chart¶
Compare withdrawal strategies side-by-side:
from fundedness.viz import plot_strategy_comparison
fig = plot_strategy_comparison(comparison_results)
fig.show()
Shows for each strategy:
- Success rate
- Average spending
- Spending volatility
- Final portfolio distribution
Asset Allocation Chart¶
Visualize asset allocation over time:
from fundedness.viz import plot_allocation_glidepath
fig = plot_allocation_glidepath(allocation_strategy)
fig.show()
Customization¶
Colors and Themes¶
from fundedness.viz import set_theme
set_theme("dark") # or "light", "minimal"
Chart Dimensions¶
fig = plot_simulation_fan_chart(
results,
width=1000,
height=600,
)
Export Options¶
# Save as HTML (interactive)
fig.write_html("chart.html")
# Save as PNG (static)
fig.write_image("chart.png")
# Save as SVG (vector)
fig.write_image("chart.svg")
Integration with Streamlit¶
Charts work seamlessly in Streamlit:
import streamlit as st
from fundedness.viz import plot_simulation_fan_chart
st.plotly_chart(
plot_simulation_fan_chart(results),
use_container_width=True,
)
Interactive Features¶
All charts include Plotly interactivity:
- Hover: See exact values at any point
- Zoom: Click and drag to zoom
- Pan: Shift-drag to pan
- Reset: Double-click to reset view
- Download: Save as PNG via toolbar