• Edit
  • Download
  • <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title>ZingSoft Demo</title>
    
        <script src="https://cdn.zingchart.com/zingchart.min.js"></script>
        <style>
            html,
            body {
                height: 100%;
                width: 100%;
                margin: 0;
                padding: 0;
            }
    
            #myChart {
                margin-left: 10%;
                height: 100%;
                min-height: 150px;
            }
    
            .zc-ref {
                display: none;
            }
    
            .controls {
                z-index: 1000;
                position: fixed;
                top: 0;
                left: 0;
                bottom: 0;
                width: 10%;
                background-color: #9e9e9e;
                padding: 15px;
            }
    
            .controls label {
                width: 75px;
                display: inline-block;
            }
    
            .controls input {
                margin-bottom: 5px;
                width: 90%;
            }
    
            zing-grid[loading] {
                height: 450px;
            }
        </style>
    </head>
    
    <body>
        <div class="controls">
    
            <label for="a-value">|A|</label>
            <input id="a-value" name="a-value" type="number" value="16" min=1>
    
            <label for="b-value">|B|</label>
            <input id="b-value" name="b-value" type="number" value="16" min=1>
    
            <label for="c-value">|C|</label>
            <input id="c-value" name="c-value" type="number" value="12" min=1>
    
            <label for="ab-value">|A∩B|</label>
            <input id="ab-value" name="ab-value" type="number" value="4" min=1>
    
            <label for="bc-value">|B∩C|</label>
            <input id="bc-value" name="bc-value" type="number" value="4" min=1>
    
            <label for="ca-value">|C∩A|</label>
            <input id="ca-value" name="ca-value" type="number" value="3" min=1>
    
            <p><strong>Note: </strong> |A∩B∩C| is calculated by ZingChart</p>
            <hr>
            <button onclick="window.parent.location.reload()">Reload Data</button>
            <!--<label for="abc-value"></label>
      	    <input id="abc-value" name="abc-value" type="number" value="2" disabled>
      	    -->
    
        </div>
        <div id="myChart"><a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a></div>
        <script>
            ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"];
            var myConfig = {
                "type": "venn",
                "plot": {
                    "value-box": {
                        "text": "%t:<br>%v",
                        "joined": {
                            "text": "Joined:<br>%joined-value"
                        },
                        "shared": {
                            "text": "Shared:<br>%shared-value"
                        }
                    }
                },
                "series": [{
                        "values": [16],
                        "join": [4],
                        "text": "Set One"
                    },
                    {
                        "values": [16],
                        "join": [3],
                        "text": "Set Two"
                    },
                    {
                        "values": [12],
                        "join": [4],
                        "text": "Set Three"
                    }
                ]
            };
    
            zingchart.render({
                id: 'myChart',
                data: myConfig,
                height: "100%",
                width: "100%"
            });
    
            function updateChart() {
                zingchart.exec('myChart', 'setdata', {
                    data: myConfig
                });
            }
    
            function updateChartValue(updateValue, seriesIndex, valuesIndex) {
                if (updateValue <= 0)
                    return false;
                myConfig.series[seriesIndex].values[valuesIndex] = updateValue;
            }
    
            function updateChartJoin(updateValue, seriesIndex, valuesIndex) {
                if (updateValue <= 0)
                    return false;
                myConfig.series[seriesIndex].join[valuesIndex] = updateValue;
            }
    
            document.getElementById('a-value').addEventListener('input', function(e) {
                updateChartValue(Number(e.target.value), 0, 0);
                updateChart();
            });
            document.getElementById('b-value').addEventListener('input', function(e) {
                updateChartValue(Number(e.target.value), 1, 0);
                updateChart();
            });
            document.getElementById('c-value').addEventListener('input', function(e) {
                updateChartValue(Number(e.target.value), 2, 0);
                updateChart();
            });
            document.getElementById('ab-value').addEventListener('input', function(e) {
                updateChartJoin(Number(e.target.value), 0, 0);
                updateChart();
            });
            document.getElementById('bc-value').addEventListener('input', function(e) {
                updateChartJoin(Number(e.target.value), 1, 0);
                updateChart();
            });
            document.getElementById('ca-value').addEventListener('input', function(e) {
                updateChartJoin(Number(e.target.value), 2, 0);
                updateChart();
            });
        </script>
    </body>
    
    </html>
    <!DOCTYPE html>
    <html>
    	<head>
        <meta charset="utf-8">
        <title>ZingSoft Demo</title>
    	
    		<script src="https://cdn.zingchart.com/zingchart.min.js"></script>
    </head>
    	<body>
    	  <div class="controls">
            
      	    <label for="a-value">|A|</label>
      	    <input id="a-value" name="a-value" type="number" value="16" min=1>
    
      	    <label for="b-value">|B|</label>
      	    <input id="b-value" name="b-value" type="number" value="16" min=1>
    
      	    <label for="c-value">|C|</label>
      	    <input id="c-value" name="c-value" type="number" value="12" min=1>
    
      	    <label for="ab-value">|A∩B|</label>
      	    <input id="ab-value" name="ab-value" type="number" value="4" min=1>
    
      	    <label for="bc-value">|B∩C|</label>
      	    <input id="bc-value" name="bc-value" type="number" value="4" min=1>
    
      	    <label for="ca-value">|C∩A|</label>
      	    <input id="ca-value" name="ca-value" type="number" value="3" min=1>
            
            <p><strong>Note: </strong> |A∩B∩C| is calculated by ZingChart</p>
            <hr>
            <button onclick="window.parent.location.reload()">Reload Data</button>
      	    <!--<label for="abc-value"></label>
      	    <input id="abc-value" name="abc-value" type="number" value="2" disabled>
      	    -->
    
    	  </div>
    		<div id="myChart"><a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a></div>
    	</body>
    </html>
    html, body {
    	height:100%;
    	width:100%;
    	margin:0;
    	padding:0;
    }
    #myChart {
      margin-left:10%;
    	height:100%;
    	min-height:150px;
    }
    .zc-ref {
    	display:none;
    }
    
    .controls {
      z-index:1000;
      position:fixed;
      top:0;
      left:0;
      bottom:0;
      width:10%;
      background-color:#9e9e9e;
      padding:15px;
    }
    
    .controls label {
      width:75px;
      display:inline-block;
    }
    
    .controls input {
      margin-bottom:5px;
      width:90%;
    }
    var myConfig = {
      "type":"venn",
      "plot":{
        "value-box":{
          "text":"%t:<br>%v",
          "joined":{
            "text":"Joined:<br>%joined-value"
          },
          "shared":{
            "text":"Shared:<br>%shared-value"
          }
        }
      },
      "series":[
        {
          "values":[16],
          "join":[4],
          "text":"Set One"
        },
        {
          "values":[16],
          "join":[3],
          "text":"Set Two"
        },
        {
          "values":[12],
          "join":[4],
          "text":"Set Three"
        }
      ]
    };
    
    zingchart.render({ 
    	id : 'myChart', 
    	data : myConfig, 
    	height: "100%", 
    	width: "100%" 
    });
    
    function updateChart() {
      zingchart.exec('myChart', 'setdata', {
        data: myConfig
      });
    }
    
    function updateChartValue(updateValue, seriesIndex, valuesIndex) {
      if (updateValue <= 0) 
        return false;
      myConfig.series[seriesIndex].values[valuesIndex] = updateValue;
    }
    
    function updateChartJoin(updateValue, seriesIndex, valuesIndex) {
      if (updateValue <= 0) 
        return false;
      myConfig.series[seriesIndex].join[valuesIndex] = updateValue;
    }
    
    document.getElementById('a-value').addEventListener('input', function(e) {
      updateChartValue(Number(e.target.value), 0, 0);
      updateChart();
    });
    document.getElementById('b-value').addEventListener('input', function(e) {
      updateChartValue(Number(e.target.value), 1, 0);
      updateChart();
    });
    document.getElementById('c-value').addEventListener('input', function(e) {
      updateChartValue(Number(e.target.value), 2, 0);
      updateChart();
    });
    document.getElementById('ab-value').addEventListener('input', function(e) {
      updateChartJoin(Number(e.target.value), 0, 0);
      updateChart();
    });
    document.getElementById('bc-value').addEventListener('input', function(e) {
      updateChartJoin(Number(e.target.value), 1, 0);
      updateChart();
    });
    document.getElementById('ca-value').addEventListener('input', function(e) {
      updateChartJoin(Number(e.target.value), 2, 0);
      updateChart();
    });