Data Visualization Diagrams, Data Tableau, Bar Charts, Line Charts, Function Charts, Point Charts, Area Charts, Spider Webs, Radar Webs, Donut Charts, Pie Charts, Bubble Charts, Gauge Charts

Data Diagrams

FillLabel
datatype: color
type: text
datatype: color
datatype: color
type: text
datatype: color
datatype: color
type: text
datatype: color
datatype: color
type: text
datatype: color
minOccurs: 1
datatype: color
px
datatype: number
°
datatype: color
px
datatype: color
px
datatype: color
datatype: number
px
datatype: color
datatype: number
px
datatype: integer
type: text
datatype: number
px
datatype: number
px
datatype: number
°
type: text
%
Will not show the path on picture downloads when animated.
type: boolean

Stroke & fill
datatype: color
datatype: number
px
,px
datatype: color
Outer distance from frame to context
datatype: number
px
datatype: number
px
datatype: number
px
datatype: number
px
Inner distance from frame to diagram
datatype: number
px
datatype: number
px
datatype: number
px
datatype: number
px
datatype: color
datatype: number
px
,px
datatype: color
datatype: number
px
,px
Poverty
datatype: integer
Land
datatype: integer
Language
datatype: integer
Education
datatype: integer
<?xml version="1.0" encoding="UTF-8"?>
<dia:data xmlns:dia="http://data-diagrams.com">
<row>
<cell>34</cell>
</row>
[1 lines]
<row>
<cell>13</cell>
</row>
[1 lines]
<row>
<cell>43</cell>
</row>
[1 lines]
<row>
<cell>10</cell>
</row>
[1 lines]
</dia:data>
[8 lines]

 
type: boolean
 
 
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" preserveAspectRatio="xMinYMin meet" class="svg-chart" viewBox="0 0 820 500" xmlns:ds="http://www.bootstrap-data.org">
<script type="application/javascript">const doc = this.document; doc.addEventListener("DOMContentLoaded", (ev) => { const svg = ev.currentTarget; const growArr = svg.querySelectorAll("g.pie[data-transform]"); growArr.forEach(async (item) => { const svg = item.closest('svg'); await item.setAttribute('data-stroke-width', await item.style.strokeWidth); item.addEventListener("mouseenter", async (e) => { e.stopPropagation(); e.preventDefault(); const obj = e.currentTarget; const transform = obj.getAttribute('data-transform'); if( obj.hasAttribute('data-transform') ) { obj.style.transition = 'transform 500ms ease-in-out'; obj.style.transform = transform; } }, false); item.addEventListener("mouseleave", (e) => { e.stopPropagation(); e.preventDefault(); const obj = e.currentTarget; obj.style.transform = 'translate(0,0)'; obj.style.strokeWidth = obj.getAttribute('data-stroke-width'); }, false); } ); const edgeArr = svg.querySelectorAll("path.edge"); edgeArr.forEach(async (item) => { const g = item.closest('g'); g.addEventListener("mouseenter", async (e) => { e.stopPropagation(); e.preventDefault(); item.style.display = '' }, false); g.addEventListener("mouseleave", (e) => { e.stopPropagation(); e.preventDefault(); item.style.display = 'none'; }, false); } ); const toolArr = svg.querySelectorAll("foreignObject"); toolArr.forEach(async (foreign) => { const svg = foreign.closest('svg'); const g = foreign.closest('g'); var pt = svg.createSVGPoint(); g.addEventListener("mouseenter", async (e) => { e.stopPropagation(); e.preventDefault(); svg.appendChild(foreign); }, false); g.addEventListener("mousemove", async (e) => { e.stopPropagation(); e.preventDefault(); const viewBox = svg.getAttribute('viewBox'); const vBArr = viewBox.split(' '); const vBWidth = vBArr[2]; foreign.style.display = ''; const W = foreign.clientWidth; const H = foreign.clientHeight; const inner = foreign.querySelector('div.tool-outer'); const w = inner.clientWidth; var loc = cursorPoint(e); const X = loc.x; const Y = loc.y; let cX = X - w / 2; let cY = Y - H - 2; if(Y < H + 10) { cY = Y + 10; foreign.querySelector('.arrow-up').style.display = ''; foreign.querySelector('.arrow-down').style.display = 'none'; } else { foreign.querySelector('.arrow-up').style.display = 'none'; foreign.querySelector('.arrow-down').style.display = ''; } if(X < w / 2) { } if(X < vBWidth - w / 2) { } foreign.setAttribute('x',parseInt(cX)); foreign.setAttribute('y',parseInt(cY)); function cursorPoint(e) { pt.x = e.clientX; pt.y = e.clientY; return pt.matrixTransform(svg.getScreenCTM().inverse()); } }, false); g.addEventListener("mouseleave", (e) => { e.stopPropagation(); e.preventDefault(); foreign.style.display = 'none'; }, false); }); });</script>
<rect class="chart-frame" x="0" y="0" width="820" height="500" fill="#ffffff" stroke="#000000" stroke-width="0" stroke-dasharray="5,5"/>
<ellipse cx="410" cy="250" rx="200" ry="200" stroke="#000000" stroke-width="1" stroke-dasharray="" fill="whiteSmoke"/>
+
<g class="pie" data-animation="|move||edge|" data-transform="translate(8.76px,-4.82px)">
<path style="display:none;" class="edge" fill="transparent" stroke="#fbff05" stroke-width="20" d="M410,50 A200,200 0 0,1 578.87,357.17"/>
<path class="pie" fill="#0d6efd" stroke="#000000" stroke-width="1" stroke-dasharray="" opacity="1" d="M410,250 L410,50 A200,200 0 0,1 578.87,357.17 z"/>
+
<text fill="#000000" font-family="Arial" font-size="20" alignment-baseline="middle" x="607.168" y="141.606" text-anchor="start">
<tspan x="607.17">Poverty</tspan>
</text>
[1 lines]
<text class="value" fill="#ffffff" font-family="Arial" font-size="14" alignment-baseline="middle" text-anchor="middle" x="563.35" y="165.69">34%</text>
+
<foreignObject style="display:none;" width="120" height="90">
+
<default:div class="tool-hold">
<default:div class="arrow-up" style="display:none;"> </default:div>
<default:div class="arrow-left" style="display:none;"> </default:div>
</default:div>
[2 lines]
+
<default:div class="tool-outer">
+
<default:div class="tool-inner">
<default:div>Poverty</default:div>
<default:small>34%</default:small>
</default:div>
[2 lines]
</default:div>
[3 lines]
+
<default:div class="tool-hold">
<default:div class="arrow-down" style="display:none;"> </default:div>
<default:div class="arrow-right" style="display:none;"> </default:div>
</default:div>
[2 lines]
</foreignObject>
[10 lines]
<g/>
</g>
[17 lines]
+
<g class="pie" data-animation="|move||edge|" data-transform="translate(5.36px,8.44px)">
<path style="display:none;" class="edge" fill="transparent" stroke="#fbff05" stroke-width="20" d="M578.87,357.17 A200,200 0 0,1 447.48,446.46"/>
<path class="pie" fill="#00fcff" stroke="#000000" stroke-width="1" stroke-dasharray="" opacity="1" d="M410,250 L578.87,357.17 A200,200 0 0,1 447.48,446.46 z"/>
+
<text fill="#000000" font-family="Arial" font-size="20" alignment-baseline="middle" x="530.566" y="439.978" text-anchor="start">
<tspan x="530.57">Land</tspan>
</text>
[1 lines]
<text class="value" fill="#ffffff" font-family="Arial" font-size="14" alignment-baseline="middle" text-anchor="middle" x="503.77" y="397.76">13%</text>
+
<foreignObject style="display:none;" width="120" height="90">
+
<default:div class="tool-hold">
<default:div class="arrow-up" style="display:none;"> </default:div>
<default:div class="arrow-left" style="display:none;"> </default:div>
</default:div>
[2 lines]
+
<default:div class="tool-outer">
+
<default:div class="tool-inner">
<default:div>Land</default:div>
<default:small>13%</default:small>
</default:div>
[2 lines]
</default:div>
[3 lines]
+
<default:div class="tool-hold">
<default:div class="arrow-down" style="display:none;"> </default:div>
<default:div class="arrow-right" style="display:none;"> </default:div>
</default:div>
[2 lines]
</foreignObject>
[10 lines]
<g/>
</g>
[17 lines]
+
<g class="pie" data-animation="|move||edge|" data-transform="translate(-9.3px,3.68px)">
<path style="display:none;" class="edge" fill="transparent" stroke="#fbff05" stroke-width="20" d="M447.48,446.46 A200,200 0 0,1 292.44,88.2"/>
<path class="pie" fill="#00f900" stroke="#000000" stroke-width="1" stroke-dasharray="" opacity="1" d="M410,250 L447.48,446.46 A200,200 0 0,1 292.44,88.2 z"/>
+
<text fill="#000000" font-family="Arial" font-size="20" alignment-baseline="middle" x="200.796" y="332.823" text-anchor="end">
<tspan x="200.8">Language</tspan>
</text>
[1 lines]
<text class="value" fill="#ffffff" font-family="Arial" font-size="14" alignment-baseline="middle" text-anchor="middle" x="247.29" y="314.42">43%</text>
+
<foreignObject style="display:none;" width="120" height="90">
+
<default:div class="tool-hold">
<default:div class="arrow-up" style="display:none;"> </default:div>
<default:div class="arrow-left" style="display:none;"> </default:div>
</default:div>
[2 lines]
+
<default:div class="tool-outer">
+
<default:div class="tool-inner">
<default:div>Language</default:div>
<default:small>43%</default:small>
</default:div>
[2 lines]
</default:div>
[3 lines]
+
<default:div class="tool-hold">
<default:div class="arrow-down" style="display:none;"> </default:div>
<default:div class="arrow-right" style="display:none;"> </default:div>
</default:div>
[2 lines]
</foreignObject>
[10 lines]
<g/>
</g>
[17 lines]
+
<g class="pie" data-animation="|move||edge|" data-transform="translate(-3.09px,-9.51px)">
<path style="display:none;" class="edge" fill="transparent" stroke="#fbff05" stroke-width="20" d="M292.44,88.2 A200,200 0 0,1 410,50"/>
<path class="pie" fill="#fd0dbd" stroke="#000000" stroke-width="1" stroke-dasharray="" opacity="1" d="M410,250 L292.44,88.2 A200,200 0 0,1 410,50 z"/>
+
<text fill="#000000" font-family="Arial" font-size="20" alignment-baseline="middle" x="340.475" y="36.014" text-anchor="end">
<tspan x="340.47">Education</tspan>
</text>
[1 lines]
<text class="value" fill="#ffffff" font-family="Arial" font-size="14" alignment-baseline="middle" text-anchor="middle" x="355.92" y="83.57">10%</text>
+
<foreignObject style="display:none;" width="120" height="90">
+
<default:div class="tool-hold">
<default:div class="arrow-up" style="display:none;"> </default:div>
<default:div class="arrow-left" style="display:none;"> </default:div>
</default:div>
[2 lines]
+
<default:div class="tool-outer">
+
<default:div class="tool-inner">
<default:div>Education</default:div>
<default:small>10%</default:small>
</default:div>
[2 lines]
</default:div>
[3 lines]
+
<default:div class="tool-hold">
<default:div class="arrow-down" style="display:none;"> </default:div>
<default:div class="arrow-right" style="display:none;"> </default:div>
</default:div>
[2 lines]
</foreignObject>
[10 lines]
<g/>
</g>
[17 lines]
<style type="text/css" media="all">.svg-chart * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .svg-chart .bar { fill-opacity:1; } .svg-chart .bar:hover { fill-opacity:0.8; } .svg-chart .pie { fill-opacity:1; } /* .svg-chart .pie:hover { stroke: grey; stroke-width: 3px; } */ .pie:hover { fill-opacity:0.8; } .subpie:hover { fill-opacity:0.8; } foreignObject { /* position:relative; */ } foreignObject>div.tool-outer { /* float:left; */ min-width:120px; background-color:#212529;color:#ffffff;font-family:Arial;font-size:20px; padding:5px; border:1px solid white; border-radius:3px; } foreignObject>div>div.tool-inner { text-align:center; } foreignObject>div>div.arrow-up { position:relative; top:2px; margin-left:auto; margin-right:auto; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid #212529; } foreignObject>div.tool-hold { background-color: transparent; /* width:100%; height:100%; */ /* position:relative; */ /*top:-2px; */ } foreignObject>div>div.arrow-down { position:relative; top:-2px; margin-left:auto; margin-right:auto; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid #212529; } foreignObject>div>div.arrow-right { position:absolute; margin-top:auto; margin-bottom:auto; margin-left:auto; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 10px solid #212529; } foreignObject>div>div.arrow-left { position:absolute; left:-10px; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-right: 10px solid #212529; }</style>
</svg>
[76 lines]
 
 

The link only works for 24 hours. Sign Up for permanent link.

 



Oops

Your browser is not supported

A modern browser with Javascript ES6 is required

Any major browser from 2015 onwards will be suitable