- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingSoft Demo</title>
-
- <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
- <style>
- html,
- body {
- height: 100%;
- width: 100%;
- margin: 0;
- padding: 0;
- }
-
- #myChart {
- height: 100%;
- width: 100%;
- min-height: 150px;
- }
-
- .zc-ref {
- display: none;
- }
- </style>
- </head>
-
- <body>
- <div id="zc"><a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a></div>
- <script>
- ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"];
- var chartJSON = {
- "graphset": [{
- "chartdescription": "Portfolio Style Skyline™-100-319",
- "title": {},
- "legend": {
- "visible": true,
- "layout": "x3",
- "item": {
- "marker-style": "circle",
- "border-color": "black"
- },
- "position": "50% 98%"
- },
- "scale-x": {
- "label": {},
- "labels": [],
- "values": ["Book to Price", "Dividend Yield", "Earnings Yld", "CFlow Yield", "Sales to Price", "EBITDA to Price", "Rtn on Equity", "Earnings Growth", "Income/Sales", "Sales Growth", "IBES 12Mth Gr", "IBES 1Yr Rev", "Market Cap", "Market Beta", "Momentum ST", "Momentum MT", "Debt/Equity", "Foreign Sales"],
- "item": {
- "font-angle": 340,
- "offset-x": 15,
- "offset-y": -8,
- "auto-align": true,
- "rules": []
- },
- "items-overlap": true,
- "max-items": 200,
- "max-labels": 50,
- "markers": [{
- "type": "line",
- "range": [5.5],
- "line-color": "#cdcdcd"
- },
- {
- "type": "line",
- "range": [11.5],
- "line-color": "#cdcdcd"
- },
- {
- "type": "line",
- "range": [13.5],
- "line-color": "#cdcdcd"
- },
- {
- "type": "line",
- "range": [15.5],
- "line-color": "#cdcdcd"
- }
- ],
- "exact": true
- },
- "scale-y": {
- "label": {
- "text": "Style Tilt ™"
- },
- "item": {
- "rules": []
- },
- "values": "-10:12:2"
- },
- "plot": {
- "tooltip-text": "%k: %v",
- "rules": [{
- "rule": "%i >= 0 && %i <=5",
- "background-color": "#0193CF"
- },
- {
- "rule": "%i >= 6 && %i <=11",
- "background-color": "#3B9067"
- },
- {
- "rule": "%i >= 12 && %i <=13",
- "background-color": "#AB4030"
- },
- {
- "rule": "%i >= 14 && %i <=15",
- "background-color": "#2A2A2A"
- },
- {
- "rule": "%i >= 16 && %i <=17",
- "background-color": "#C9BA3B"
- }
- ],
- "data-id": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"],
- "data-tooltips-1": [],
- "data-tooltips-2": [],
- "value-box": {
- "visible": false
- },
- "hover-state": {
- "shadow": true,
- "shadow-distance": "3px"
- },
- "exact": 1,
- "max-trackers": 999,
- "offset-values": [],
- "tooltip": {
- "visible": true
- }
- },
- "plotarea": {
- "margin-bottom": 75,
- "margin-top": 40,
- "height": "100%"
- },
- "layout": {
- "layout": "1x2"
- },
- "series": [{
- "values": [-5.213293552398682, -8.919129371643066, -9.667237281799316, -6.990901470184326, -2.0189571380615234, -5.652781009674072, 0.544833779335022, 1.086244821548462, -1.326432704925537, 0.6185302138328552, 6.6006927490234375, 6.627787113189697, -6.098244667053223, 2.646185874938965, 3.438965320587158, 10.199530601501465, -3.0259251594543457, -1.0019980669021606],
- "text": "Portfolio Style Skyline™",
- "effect": 2,
- "target": "_self",
- "url": "javascript:getTiltContributions('Widgets.WebWidgets.WebChartStyleExposure','3b890659-24cd-4d18-9dc2-0be241fb095d','%data-id|%k','UA');",
- "stacked": true,
- "decimals": 2,
- "data-tooltips-3": [],
- "data-tooltips-4": [],
- "type": "bar",
- "marker": {
- "visible": false
- },
- "legend-marker": {
- "visible": false
- },
- "legend-item": {
- "visible": false
- }
- }],
- "options": {
- "tooltip-box": {
- "text-align": ""
- }
- },
- "type": "mixed"
- }]
- };
-
- function createGroups() {
-
- // get info about the plotarea to find y position of labels
- var oPlotArea = zingchart.exec('zc', 'getobjectinfo', {
- object: 'plotarea'
- });
-
- // define labels (start and end nodes, text and some styling if needed)
- var aLabels = [{
- nodes: [0, 5],
- data: {
- 'text': 'Value'
- }
- },
- {
- nodes: [6, 11],
- data: {
- 'text': 'Growth',
- 'background-color': 'yellow'
- }
- },
- {
- nodes: [12, 13],
- data: {
- 'text': 'Risk'
- }
- },
- {
- nodes: [14, 15],
- data: {
- 'text': 'Momentum'
- }
- },
- {
- nodes: [16, 17],
- data: {
- 'text': 'Quality'
- }
- }
- ];
-
- var aLabelsData = [];
-
- for (var l = 0; l < aLabels.length; l++) {
- // get information about start and end nodes
- var oNodeStart = zingchart.exec('zc', 'getobjectinfo', {
- object: 'node',
- plotindex: 0,
- nodeindex: aLabels[l].nodes[0]
- });
- var oNodeEnd = zingchart.exec('zc', 'getobjectinfo', {
- object: 'node',
- plotindex: 0,
- nodeindex: aLabels[l].nodes[1]
- });
-
- // create label objects (for text and the grouping box)
- var oLabel = aLabels[l].data;
- oLabel['padding'] = 5;
- oLabel['x'] = oNodeStart.x - 2;
- oLabel['y'] = oPlotArea.y - 35;
- oLabel['width'] = oNodeEnd.x + oNodeEnd.width - oNodeStart.x + 4;
- oLabel['height'] = 20;
- oLabel['font-size'] = Math.round(8 + Math.min(8, oLabel['width'] / 20));
- aLabelsData.push(oLabel);
-
- var oGroup = {};
- oGroup['border-top'] = '1px solid #666';
- oGroup['border-right'] = '1px solid #666';
- oGroup['border-left'] = '1px solid #666';
- oGroup['x'] = oNodeStart.x - 2;
- oGroup['y'] = oPlotArea.y - 12;
- oGroup['width'] = oNodeEnd.x + oNodeEnd.width - oNodeStart.x + 4;
- oGroup['height'] = 8;
- aLabelsData.push(oGroup);
- }
-
- /* for the client side chart */
- zingchart.exec('zc', 'addobject', {
- type: 'label',
- data: aLabelsData
- });
-
- /* for the nodejs version */
- /*
- zingchart.exec('zc', 'addobject', {
- type : 'label',
- data : aLabelsData,
- update : false
- });
- // hack to force repaint since objects API does not repaint in nodejs (this will be fixed in the next public version)
- zingchart.exec('zc', 'modify', {data:{}});
- */
- }
-
- /* for the client side chart */
- zingchart.render({
- id: 'zc',
- data: chartJSON,
- width: 800,
- height: 400,
- events: {
- complete: function() {
- createGroups();
- }
- }
- });
-
- /* for the nodejs version */
- /*
- var bFirstTime = true;
- zingchart.render({
- id : 'zc',
- data : chartJSON,
- width : 800,
- height : 400,
- filetype : 'png',
- filename : 'demo.png',
- events : {
- render : function() {
- if (bFirstTime) {
- bFirstTime = false;
- createGroups();
- }
- }
- }
- });
- */
- </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 id="zc"><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 {
- height: 100%;
- width: 100%;
- min-height: 150px;
- }
-
- .zc-ref {
- display: none;
- }
- var chartJSON = {
- "graphset": [{
- "chartdescription": "Portfolio Style Skyline™-100-319",
- "title": {},
- "legend": {
- "visible": true,
- "layout": "x3",
- "item": {
- "marker-style": "circle",
- "border-color": "black"
- },
- "position": "50% 98%"
- },
- "scale-x": {
- "label": {},
- "labels": [],
- "values": ["Book to Price", "Dividend Yield", "Earnings Yld", "CFlow Yield", "Sales to Price", "EBITDA to Price", "Rtn on Equity", "Earnings Growth", "Income/Sales", "Sales Growth", "IBES 12Mth Gr", "IBES 1Yr Rev", "Market Cap", "Market Beta", "Momentum ST", "Momentum MT", "Debt/Equity", "Foreign Sales"],
- "item": {
- "font-angle": 340,
- "offset-x": 15,
- "offset-y": -8,
- "auto-align": true,
- "rules": []
- },
- "items-overlap": true,
- "max-items": 200,
- "max-labels": 50,
- "markers": [{
- "type": "line",
- "range": [5.5],
- "line-color": "#cdcdcd"
- },
- {
- "type": "line",
- "range": [11.5],
- "line-color": "#cdcdcd"
- },
- {
- "type": "line",
- "range": [13.5],
- "line-color": "#cdcdcd"
- },
- {
- "type": "line",
- "range": [15.5],
- "line-color": "#cdcdcd"
- }
- ],
- "exact": true
- },
- "scale-y": {
- "label": {
- "text": "Style Tilt ™"
- },
- "item": {
- "rules": []
- },
- "values": "-10:12:2"
- },
- "plot": {
- "tooltip-text": "%k: %v",
- "rules": [{
- "rule": "%i >= 0 && %i <=5",
- "background-color": "#0193CF"
- },
- {
- "rule": "%i >= 6 && %i <=11",
- "background-color": "#3B9067"
- },
- {
- "rule": "%i >= 12 && %i <=13",
- "background-color": "#AB4030"
- },
- {
- "rule": "%i >= 14 && %i <=15",
- "background-color": "#2A2A2A"
- },
- {
- "rule": "%i >= 16 && %i <=17",
- "background-color": "#C9BA3B"
- }
- ],
- "data-id": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"],
- "data-tooltips-1": [],
- "data-tooltips-2": [],
- "value-box": {
- "visible": false
- },
- "hover-state": {
- "shadow": true,
- "shadow-distance": "3px"
- },
- "exact": 1,
- "max-trackers": 999,
- "offset-values": [],
- "tooltip": {
- "visible": true
- }
- },
- "plotarea": {
- "margin-bottom": 75,
- "margin-top": 40,
- "height": "100%"
- },
- "layout": {
- "layout": "1x2"
- },
- "series": [{
- "values": [-5.213293552398682, -8.919129371643066, -9.667237281799316, -6.990901470184326, -2.0189571380615234, -5.652781009674072, 0.544833779335022, 1.086244821548462, -1.326432704925537, 0.6185302138328552, 6.6006927490234375, 6.627787113189697, -6.098244667053223, 2.646185874938965, 3.438965320587158, 10.199530601501465, -3.0259251594543457, -1.0019980669021606],
- "text": "Portfolio Style Skyline™",
- "effect": 2,
- "target": "_self",
- "url": "javascript:getTiltContributions('Widgets.WebWidgets.WebChartStyleExposure','3b890659-24cd-4d18-9dc2-0be241fb095d','%data-id|%k','UA');",
- "stacked": true,
- "decimals": 2,
- "data-tooltips-3": [],
- "data-tooltips-4": [],
- "type": "bar",
- "marker": {
- "visible": false
- },
- "legend-marker": {
- "visible": false
- },
- "legend-item": {
- "visible": false
- }
- }],
- "options": {
- "tooltip-box": {
- "text-align": ""
- }
- },
- "type": "mixed"
- }]
- };
-
- function createGroups() {
-
- // get info about the plotarea to find y position of labels
- var oPlotArea = zingchart.exec('zc', 'getobjectinfo', {
- object: 'plotarea'
- });
-
- // define labels (start and end nodes, text and some styling if needed)
- var aLabels = [{
- nodes: [0, 5],
- data: {
- 'text': 'Value'
- }
- },
- {
- nodes: [6, 11],
- data: {
- 'text': 'Growth',
- 'background-color': 'yellow'
- }
- },
- {
- nodes: [12, 13],
- data: {
- 'text': 'Risk'
- }
- },
- {
- nodes: [14, 15],
- data: {
- 'text': 'Momentum'
- }
- },
- {
- nodes: [16, 17],
- data: {
- 'text': 'Quality'
- }
- }
- ];
-
- var aLabelsData = [];
-
- for (var l = 0; l < aLabels.length; l++) {
- // get information about start and end nodes
- var oNodeStart = zingchart.exec('zc', 'getobjectinfo', {
- object: 'node',
- plotindex: 0,
- nodeindex: aLabels[l].nodes[0]
- });
- var oNodeEnd = zingchart.exec('zc', 'getobjectinfo', {
- object: 'node',
- plotindex: 0,
- nodeindex: aLabels[l].nodes[1]
- });
-
- // create label objects (for text and the grouping box)
- var oLabel = aLabels[l].data;
- oLabel['padding'] = 5;
- oLabel['x'] = oNodeStart.x - 2;
- oLabel['y'] = oPlotArea.y - 35;
- oLabel['width'] = oNodeEnd.x + oNodeEnd.width - oNodeStart.x + 4;
- oLabel['height'] = 20;
- oLabel['font-size'] = Math.round(8 + Math.min(8, oLabel['width'] / 20));
- aLabelsData.push(oLabel);
-
- var oGroup = {};
- oGroup['border-top'] = '1px solid #666';
- oGroup['border-right'] = '1px solid #666';
- oGroup['border-left'] = '1px solid #666';
- oGroup['x'] = oNodeStart.x - 2;
- oGroup['y'] = oPlotArea.y - 12;
- oGroup['width'] = oNodeEnd.x + oNodeEnd.width - oNodeStart.x + 4;
- oGroup['height'] = 8;
- aLabelsData.push(oGroup);
- }
-
- /* for the client side chart */
- zingchart.exec('zc', 'addobject', {
- type: 'label',
- data: aLabelsData
- });
-
- /* for the nodejs version */
- /*
- zingchart.exec('zc', 'addobject', {
- type : 'label',
- data : aLabelsData,
- update : false
- });
- // hack to force repaint since objects API does not repaint in nodejs (this will be fixed in the next public version)
- zingchart.exec('zc', 'modify', {data:{}});
- */
- }
-
- /* for the client side chart */
- zingchart.render({
- id: 'zc',
- data: chartJSON,
- width: 800,
- height: 400,
- events: {
- complete: function() {
- createGroups();
- }
- }
- });
-
- /* for the nodejs version */
- /*
- var bFirstTime = true;
- zingchart.render({
- id : 'zc',
- data : chartJSON,
- width : 800,
- height : 400,
- filetype : 'png',
- filename : 'demo.png',
- events : {
- render : function() {
- if (bFirstTime) {
- bFirstTime = false;
- createGroups();
- }
- }
- }
- });
- */