File size: 1,631 Bytes
369e574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# components/visualization.py

class D3Visualizer:
    """D3.js visualization component"""
    
    @staticmethod
    def create_interactive_plot(plot_type: str, data: dict) -> str:
        """Create interactive D3 visualization"""
        
        templates = {
            "histogram": """
                <div id="d3-histogram" class="visualization"></div>
                <script src="https://d3js.org/d3.v7.min.js"></script>
                <script>
                const data = {data};
                // D3 histogram code here...
                </script>
            """,
            "probability_cone": """
                <div id="d3-probability-cone" class="visualization"></div>
                <script src="https://d3js.org/d3.v7.min.js"></script>
                <script>
                const data = {data};
                // D3 probability cone code here...
                </script>
            """,
            "distribution": """
                <div id="d3-distribution" class="visualization"></div>
                <script src="https://d3js.org/d3.v7.min.js"></script>
                <script>
                const data = {data};
                // D3 distribution plot code here...
                </script>
            """
        }
        
        return templates.get(plot_type, "Unsupported visualization type")
        
    @staticmethod
    def get_html_template() -> str:
        """Get HTML template for visualizations"""
        return """
        <link rel="stylesheet" href="static/styles.css">
        <div class="visualization-container">
            {visualization}
        </div>
        """