<!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>
.zc-parties {
padding: 1rem;
display: flex;
justify-content: center;
background: #fff;
box-sizing: border-box;
}
.zc-body {
background: #fff;
}
.chart--container {
height: 100%;
width: 100%;
min-height: 530px;
}
.zc-ref {
display: none;
}
</style>
</head>
<body class="zc-body">
<div class="zc-parties">
<div id="myChart">
<a href="https://www.zingchart.com/" rel="noopener" class="zc-ref">Powered by ZingChart</a>
</div>
</div>
<script>
ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"];
// INIT
// -----------------------------
// Define Module Location
zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";
// Load Maps
zingchart.loadModules('maps, maps-fraL2, color-scale', init);
function init() {
// DEFINE CHART LOCATIONS (IDS)
// -----------------------------
// Main chart render location(s)
let chartId = 'myChart';
// PARTY CHARTS DATA & CONFIG
// -----------------------------
// 3 main parties
let parties = {
REM: {
name: 'REM: La Republique En Marche!',
color: '#FB8B24',
leader: 'Christophe Castaner',
icon: 'data:image/png;base64,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'
},
LR: {
name: 'LR: The Republicans',
color: '#00A8E8',
leader: 'Laurent Wauquiez',
icon: 'data:image/png;base64,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'
},
PS: {
name: 'PS: Socialist Party',
color: '#FD2C88',
leader: 'Olivier Faure',
icon: 'data:image/png;base64,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'
}
};
let items = zingchart.maps.getItems('fraL2'),
i;
// For each department, create fake data with percentages for each party
let scores = {
REM: {},
LR: {},
PS: {}
}
// Fill w/ data
for (let i = 0; i < items.length; i++) {
let base = 35000;
let above90 = rand(0, 100) > 90;
let lenCheck = i % (Math.round(items.length / 4)) === 0;
if (above90 || lenCheck) base = 25000;
let pp1 = parseFloat((rand(base, 45000) / 1000).toFixed(3));
let pp2 = parseFloat((rand(base, 45000) / 1000).toFixed(3));
let pp3 = parseFloat((100 - pp1 - pp2).toFixed(3));
scores['REM'][items[i]] = pp1;
scores['LR'][items[i]] = pp2;
scores['PS'][items[i]] = pp3;
}
// Main chart config
let gmain = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
width: '66.66%',
height: '55%',
x: '0%',
y: '0%',
title: {
fontSize: '13px',
text: 'Projected election results'
},
shapes: [{
type: 'zingchart.maps',
options: {
id: 'mapmain',
name: 'fraL2',
x: '2.5%',
y: '5%',
width: '95%',
height: '95%',
scale: true,
zooming: false,
panning: false,
scrolling: false,
choropleth: {
aspect: 'intervals',
steps: [0, 1, 2, 3],
colors: [parties['REM'].color, parties['LR'].color, parties['PS'].color]
},
style: {
borderAlpha: 0.1,
borderColor: '#fff',
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadowAlpha: 0.2,
shadowDistance: 2,
shadow: true,
shadowColor: '#333'
},
tooltip: {
text: '<span style="font-size:29px;font-weight:bold;">%text</span>%data-preview<br><br><br><br>',
align: 'left',
backgroundColor: '#f9f9f9',
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: 16,
calloutHeight: 8,
color: '#000',
fontSize: '13px',
lineHeight: 15,
padding: '10px 20px',
shadow: true,
shadowAlpha: 0.7,
shadowColor: '#333',
shadowDistance: 2,
},
items: {}
}
}
}]
};
for (let i = 0; i < items.length; i++) {
let fVal = 0,
sPreview = '';
let aPreview = [];
aPreview.push(['REM', scores['REM'][items[i]]]);
aPreview.push(['LR', scores['LR'][items[i]]]);
aPreview.push(['PS', scores['PS'][items[i]]]);
aPreview.sort(function(a, b) {
return b[1] - a[1];
});
for (let p = 0; p < aPreview.length; p++) {
let bars = createBar(aPreview[p][1], parties[aPreview[p][0]].color);
sPreview += '<br>' + (p + 1) + ' ' + bars + ' ' + aPreview[p][0] + ': ' + aPreview[p][1] + '%';
}
if (scores['REM'][items[i]] > scores['LR'][items[i]] && scores['REM'][items[i]] > scores['PS'][items[i]]) {
fVal = 0.5;
}
if (scores['LR'][items[i]] > scores['REM'][items[i]] && scores['LR'][items[i]] > scores['PS'][items[i]]) {
fVal = 1.5;
}
if (scores['PS'][items[i]] > scores['REM'][items[i]] && scores['PS'][items[i]] > scores['LR'][items[i]]) {
fVal = 2.5;
}
gmain.shapes[0].options.style.items[items[i]] = {
dataValue: fVal,
dataPreview: sPreview
};
}
// PARTY 1
// -----------------------------
let gp1 = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
width: '33.33%',
height: '33.33%',
x: '66.66%',
y: '0%',
title: {
fontSize: '11px',
text: parties['REM'].name
},
colorScale: {
cursor: {
size: 3
},
item: {
fontSize: 10,
offsetY: -5
},
layout: 'h',
map: true,
margin: 'auto auto 20 auto',
width: '100px',
height: '10px'
},
shapes: [{
type: 'zingchart.maps',
options: {
id: 'mapp1',
name: 'fraL2',
colorScale: true,
panning: false,
scale: true,
scrolling: false,
x: '5%',
y: '10%',
width: '90%',
height: '80%',
zooming: false,
choropleth: {
aspect: 'gradient',
progression: 'lin',
color: parties['REM'].color,
maxPercent: 50,
effect: 'lighten',
mirrored: true
},
style: {
borderAlpha: 0.1,
borderColor: parties['REM'].color,
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadowAlpha: 0.1,
shadowDistance: 0,
shadow: true,
shadowColor: '#369'
},
tooltip: {
text: '%text: %data-value%',
backgroundColor: parties['REM'].color,
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: '16px',
calloutHeight: '8px',
color: '#fff',
fontSize: 13,
fontWeight: 'bold',
padding: '10px 20px',
shadow: true,
shadowColor: '#333',
shadowAlpha: 0.7,
shadowDistance: 2
},
items: {}
}
}
}]
};
for (let i = 0; i < items.length; i++) {
gp1.shapes[0].options.style.items[items[i]] = {
dataValue: scores['REM'][items[i]]
};
}
// PARTY 2
// -----------------------------
let gp2 = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
x: '66.66%',
y: '33.33%',
width: '33.33%',
height: '33.33%',
title: {
fontSize: '11px',
text: parties['LR'].name
},
colorScale: {
layout: 'h',
width: '100px',
height: '10px',
map: true,
margin: 'auto auto 20px auto',
cursor: {
size: 3
},
item: {
fontSize: '10px',
offsetY: '-5px'
}
},
shapes: [{
type: 'zingchart.maps',
options: {
id: 'mapp2',
name: 'fraL2',
colorScale: true,
panning: false,
scale: true,
scrolling: false,
width: '90%',
height: '80%',
x: '5%',
y: '10%',
zooming: false,
choropleth: {
aspect: 'gradient',
color: parties['LR'].color,
effect: 'lighten',
maxPercent: 50,
mirrored: true,
progression: 'lin'
},
style: {
borderAlpha: 0.1,
borderColor: parties['LR'].color,
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadow: true,
shadowAlpha: 0.1,
shadowColor: '#369',
shadowDistance: 0
},
tooltip: {
text: '%text: %data-value%',
backgroundColor: parties['LR'].color,
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: '16px',
calloutHeight: '8px',
color: '#fff',
fontSize: '13px',
fontWeight: 'bold',
padding: '10px 20px',
shadow: true,
shadowAlpha: 0.7,
shadowColor: '#333',
shadowDistance: 2,
},
items: {}
}
}
}]
};
for (let i = 0; i < items.length; i++) {
gp2.shapes[0].options.style.items[items[i]] = {
dataValue: scores['LR'][items[i]]
};
}
// PARTY 3
// -----------------------------
let gp3 = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
width: '33.33%',
height: '33.33%',
x: '66.66%',
y: '66.66%',
title: {
fontSize: '11px',
text: parties['PS'].name
},
colorScale: {
layout: 'h',
map: true,
margin: 'auto auto 20px auto',
width: '100px',
height: '10px',
cursor: {
size: 3
},
item: {
fontSize: '10px',
offsetY: '-5px'
}
},
shapes: [{
type: 'zingchart.maps',
options: {
id: 'mapp3',
name: 'fraL2',
colorScale: true,
panning: false,
scale: true,
scrolling: false,
width: '90%',
height: '80%',
x: '5%',
y: '10%',
zooming: false,
choropleth: {
aspect: 'gradient',
color: parties['PS'].color,
effect: 'lighten',
maxPercent: 50,
mirrored: true,
progression: 'lin'
},
style: {
borderAlpha: 0.1,
borderColor: parties['PS'].color,
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadow: true,
shadowAlpha: 0.1,
shadowColor: '#369',
shadowDistance: 0
},
tooltip: {
text: '%text: %data-value%',
backgroundColor: parties['PS'].color,
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: '16px',
calloutHeight: '8px',
color: '#fff',
fontSize: '13px',
fontWeight: 'bold',
padding: '10px 20px',
shadow: true,
shadowAlpha: 0.7,
shadowColor: '#333',
shadowDistance: 2
},
items: {}
}
}
}]
};
for (let i = 0; i < items.length; i++) {
gp3.shapes[0].options.style.items[items[i]] = {
dataValue: scores['PS'][items[i]]
};
}
// TIME CHART
// -----------------------------
let gtime = {
type: 'line',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: '1px',
width: '66.66%',
height: '45%',
x: '0%',
y: '55%',
title: {
text: 'Public trust for leaders of main political parties (trend)',
fontSize: '13px'
},
plot: {
maxNodes: 0,
maxTrackers: 0
},
plotarea: {
margin: '140px 30px 30px 40px'
},
scaleX: {
maxItems: 6,
step: 'month',
item: {
fontSize: 10
},
transform: {
type: 'date',
text: '%M %Y'
}
},
scaleY: {
maxItems: 6,
format: '%v%',
step: 20,
item: {
fontSize: '10px'
}
},
crosshairX: {
plotLabel: {
text: '<span style="color:%color;font-weight:bold;">%node-value%</span> %plot-text',
backgroundColor: '#f9f9f9',
borderRadius: '5px',
borderWidth: 0,
callout: false,
distance: 10,
fontSize: '12px',
multiple: false,
padding: '8px',
shadow: true,
shadowAlpha: 0.5,
shadowColor: '#333',
shadowDistance: 1
},
scaleLabel: {
fontSize: '10px'
},
mask: {
backgroundColor: '#eee'
}
},
shapes: [{
type: 'circle',
backgroundImage: parties['REM'].icon,
borderWidth: '6px',
borderColor: parties['REM'].color,
size: '32px',
x: '20%',
y: '64px',
label: {
text: parties['REM'].leader + '<br>(REM)',
fontSize: '10px',
offsetY: '48px'
}
},
{
type: 'circle',
backgroundImage: parties['LR'].icon,
borderWidth: '6px',
borderColor: parties['LR'].color,
size: 32,
x: '50%',
y: '64px',
label: {
text: parties['LR'].leader + '<br>(LR)',
fontSize: '10px',
offsetY: '48px'
}
},
{
type: 'circle',
size: 32,
backgroundImage: parties['PS'].icon,
borderColor: parties['PS'].color,
borderWidth: '6px',
x: '80%',
y: '64px',
label: {
text: parties['PS'].leader + '<br>(PS)',
fontSize: '10px',
offsetY: '48px'
}
}
],
series: []
};
let sdata = [
[],
[],
[]
];
let ts = Date.UTC(2018, 10, 15);
let pc1 = 20 + 40 * Math.random();
let pc2 = 20 + 40 * Math.random();
let pc3 = 10 + 20 * Math.random();
for (let d = 0; d < 48; d++) {
pc1 += -6 + 12 * Math.random();
if (pc1 > 80 || pc1 < 20) {
pc1 += ((pc1 > 80) ? -1 : 1) * 6 * Math.random();
}
pc1 = parseFloat(pc1.toFixed(1));
pc2 += -5 + 10 * Math.random();
if (pc1 > 80 || pc1 < 20) {
pc2 += ((pc2 > 80) ? -1 : 1) * 5 * Math.random();
}
pc2 = parseFloat(pc2.toFixed(1));
pc3 += -3 + 6 * Math.random();
if (pc1 > 80 || pc1 < 20) {
pc3 += ((pc3 > 80) ? -1 : 1) * 3 * Math.random();
}
pc3 = parseFloat(pc3.toFixed(1));
sdata[0].push([ts, pc1]);
sdata[1].push([ts, pc2]);
sdata[2].push([ts, pc3]);
ts -= 1000 * 60 * 60 * 24 * 30.5;
}
gtime.series.push({
lineColor: parties['REM'].color,
text: parties['REM'].leader,
values: sdata[0].reverse()
});
gtime.series.push({
lineColor: parties['LR'].color,
text: parties['LR'].leader,
values: sdata[1].reverse()
});
gtime.series.push({
lineColor: parties['PS'].color,
text: parties['PS'].leader,
values: sdata[2].reverse()
});
// CHART CONFIG
// -----------------------------
let cdata = {
backgroundColor: '#fff',
borderColor: '#ddd',
borderWidth: '2px',
graphset: [
gmain,
gp1,
gp2,
gp3,
gtime
]
};
// RENDER CHARTS
// -----------------------------
zingchart.render({
id: chartId,
width: 600,
height: 600,
output: 'svg',
data: cdata,
modules: 'color-scale'
});
}
// HELPER FNS
// -----------------------------
function createBar(score, color) {
let sBar = "<span style='font-weight:bold;color:" + color + "'>";
for (let b = 0; b < Math.round(score / 4); b++) {
sBar += '\u2588';
}
sBar += '</span>';
return sBar;
}
function rand(min, max) {
return Math.round(min + (max - min) * Math.random());
};
</script>
</body>
</html>
// INIT
// -----------------------------
// Define Module Location
zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";
// Load Maps
zingchart.loadModules('maps, maps-fraL2, color-scale', init);
function init() {
// DEFINE CHART LOCATIONS (IDS)
// -----------------------------
// Main chart render location(s)
let chartId = 'myChart';
// PARTY CHARTS DATA & CONFIG
// -----------------------------
// 3 main parties
let parties = {
REM: {
name: 'REM: La Republique En Marche!',
color: '#FB8B24',
leader: 'Christophe Castaner',
icon: 'data:image/png;base64,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'
},
LR: {
name: 'LR: The Republicans',
color: '#00A8E8',
leader: 'Laurent Wauquiez',
icon: 'data:image/png;base64,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'
},
PS: {
name: 'PS: Socialist Party',
color: '#FD2C88',
leader: 'Olivier Faure',
icon: 'data:image/png;base64,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'
}
};
let items = zingchart.maps.getItems('fraL2'), i;
// For each department, create fake data with percentages for each party
let scores = {
REM: {},
LR: {},
PS: {}
}
// Fill w/ data
for (let i=0;i<items.length;i++) {
let base = 35000;
let above90 = rand(0, 100) > 90;
let lenCheck = i%(Math.round(items.length/4)) === 0;
if (above90 || lenCheck) base = 25000;
let pp1 = parseFloat((rand(base, 45000)/1000).toFixed(3));
let pp2 = parseFloat((rand(base, 45000)/1000).toFixed(3));
let pp3 = parseFloat((100 - pp1 - pp2).toFixed(3));
scores['REM'][items[i]] = pp1;
scores['LR'][items[i]] = pp2;
scores['PS'][items[i]] = pp3;
}
// Main chart config
let gmain = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
width: '66.66%',
height: '55%',
x: '0%',
y: '0%',
title: {
fontSize: '13px',
text: 'Projected election results'
},
shapes: [
{
type: 'zingchart.maps',
options: {
id: 'mapmain',
name: 'fraL2',
x: '2.5%',
y: '5%',
width: '95%',
height: '95%',
scale: true,
zooming: false,
panning: false,
scrolling: false,
choropleth: {
aspect: 'intervals',
steps: [0, 1, 2, 3],
colors: [parties['REM'].color, parties['LR'].color, parties['PS'].color]
},
style: {
borderAlpha: 0.1,
borderColor: '#fff',
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadowAlpha: 0.2,
shadowDistance: 2,
shadow: true,
shadowColor: '#333'
},
tooltip: {
text: '<span style="font-size:29px;font-weight:bold;">%text</span>%data-preview<br><br><br><br>',
align: 'left',
backgroundColor: '#f9f9f9',
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: 16,
calloutHeight: 8,
color: '#000',
fontSize: '13px',
lineHeight: 15,
padding: '10px 20px',
shadow: true,
shadowAlpha: 0.7,
shadowColor: '#333',
shadowDistance: 2,
},
items: {}
}
}
}
]
};
for (let i=0;i<items.length;i++) {
let fVal = 0, sPreview = '';
let aPreview = [];
aPreview.push(['REM', scores['REM'][items[i]]]);
aPreview.push(['LR', scores['LR'][items[i]]]);
aPreview.push(['PS', scores['PS'][items[i]]]);
aPreview.sort(function(a, b) {
return b[1] - a[1];
});
for (let p=0;p<aPreview.length;p++) {
let bars = createBar(aPreview[p][1], parties[aPreview[p][0]].color);
sPreview += '<br>' + (p+1) + ' ' + bars + ' ' + aPreview[p][0] + ': ' + aPreview[p][1] + '%';
}
if (scores['REM'][items[i]] > scores['LR'][items[i]] && scores['REM'][items[i]] > scores['PS'][items[i]]) {
fVal = 0.5;
}
if (scores['LR'][items[i]] > scores['REM'][items[i]] && scores['LR'][items[i]] > scores['PS'][items[i]]) {
fVal = 1.5;
}
if (scores['PS'][items[i]] > scores['REM'][items[i]] && scores['PS'][items[i]] > scores['LR'][items[i]]) {
fVal = 2.5;
}
gmain.shapes[0].options.style.items[items[i]] = {
dataValue: fVal,
dataPreview: sPreview
};
}
// PARTY 1
// -----------------------------
let gp1 = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
width: '33.33%',
height: '33.33%',
x: '66.66%',
y: '0%',
title: {
fontSize: '11px',
text: parties['REM'].name
},
colorScale: {
cursor: {
size: 3
},
item: {
fontSize: 10,
offsetY: -5
},
layout: 'h',
map: true,
margin: 'auto auto 20 auto',
width: '100px',
height: '10px'
},
shapes: [
{
type: 'zingchart.maps',
options: {
id: 'mapp1',
name: 'fraL2',
colorScale: true,
panning: false,
scale: true,
scrolling: false,
x: '5%',
y: '10%',
width: '90%',
height: '80%',
zooming: false,
choropleth: {
aspect: 'gradient',
progression: 'lin',
color: parties['REM'].color,
maxPercent: 50,
effect: 'lighten',
mirrored: true
},
style: {
borderAlpha: 0.1,
borderColor: parties['REM'].color,
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadowAlpha: 0.1,
shadowDistance: 0,
shadow: true,
shadowColor: '#369'
},
tooltip: {
text: '%text: %data-value%',
backgroundColor: parties['REM'].color,
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: '16px',
calloutHeight: '8px',
color: '#fff',
fontSize: 13,
fontWeight: 'bold',
padding: '10px 20px',
shadow: true,
shadowColor: '#333',
shadowAlpha: 0.7,
shadowDistance: 2
},
items: {}
}
}
}
]
};
for (let i=0;i<items.length;i++) {
gp1.shapes[0].options.style.items[items[i]] = {
dataValue: scores['REM'][items[i]]
};
}
// PARTY 2
// -----------------------------
let gp2 = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
x: '66.66%',
y: '33.33%',
width: '33.33%',
height: '33.33%',
title: {
fontSize: '11px',
text: parties['LR'].name
},
colorScale: {
layout: 'h',
width: '100px',
height: '10px',
map: true,
margin: 'auto auto 20px auto',
cursor: {
size: 3
},
item: {
fontSize: '10px',
offsetY: '-5px'
}
},
shapes: [
{
type: 'zingchart.maps',
options: {
id: 'mapp2',
name: 'fraL2',
colorScale: true,
panning: false,
scale: true,
scrolling: false,
width: '90%',
height: '80%',
x: '5%',
y: '10%',
zooming: false,
choropleth: {
aspect: 'gradient',
color: parties['LR'].color,
effect: 'lighten',
maxPercent: 50,
mirrored: true,
progression: 'lin'
},
style: {
borderAlpha: 0.1,
borderColor: parties['LR'].color,
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadow: true,
shadowAlpha: 0.1,
shadowColor: '#369',
shadowDistance: 0
},
tooltip: {
text: '%text: %data-value%',
backgroundColor: parties['LR'].color,
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: '16px',
calloutHeight: '8px',
color: '#fff',
fontSize: '13px',
fontWeight: 'bold',
padding: '10px 20px',
shadow: true,
shadowAlpha: 0.7,
shadowColor: '#333',
shadowDistance: 2,
},
items: {}
}
}
}
]
};
for (let i=0;i<items.length;i++) {
gp2.shapes[0].options.style.items[items[i]] = {
dataValue: scores['LR'][items[i]]
};
}
// PARTY 3
// -----------------------------
let gp3 = {
type: 'null',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: 1,
width: '33.33%',
height: '33.33%',
x: '66.66%',
y: '66.66%',
title: {
fontSize: '11px',
text: parties['PS'].name
},
colorScale: {
layout: 'h',
map: true,
margin: 'auto auto 20px auto',
width: '100px',
height: '10px',
cursor: {
size: 3
},
item: {
fontSize: '10px',
offsetY: '-5px'
}
},
shapes: [
{
type: 'zingchart.maps',
options: {
id: 'mapp3',
name: 'fraL2',
colorScale: true,
panning: false,
scale: true,
scrolling: false,
width: '90%',
height: '80%',
x: '5%',
y: '10%',
zooming: false,
choropleth: {
aspect: 'gradient',
color: parties['PS'].color,
effect: 'lighten',
maxPercent: 50,
mirrored: true,
progression: 'lin'
},
style: {
borderAlpha: 0.1,
borderColor: parties['PS'].color,
controls: {
visible: false
},
label: {
visible: false
},
hoverState: {
backgroundColor: 'none',
shadow: true,
shadowAlpha: 0.1,
shadowColor: '#369',
shadowDistance: 0
},
tooltip: {
text: '%text: %data-value%',
backgroundColor: parties['PS'].color,
borderRadius: '3px',
borderWidth: 0,
callout: true,
calloutWidth: '16px',
calloutHeight: '8px',
color: '#fff',
fontSize: '13px',
fontWeight: 'bold',
padding: '10px 20px',
shadow: true,
shadowAlpha: 0.7,
shadowColor: '#333',
shadowDistance: 2
},
items: {}
}
}
}
]
};
for (let i=0;i<items.length;i++) {
gp3.shapes[0].options.style.items[items[i]] = {
dataValue: scores['PS'][items[i]]
};
}
// TIME CHART
// -----------------------------
let gtime = {
type: 'line',
backgroundColor: 'none',
borderColor: '#ddd',
borderWidth: '1px',
width: '66.66%',
height: '45%',
x: '0%',
y: '55%',
title: {
text: 'Public trust for leaders of main political parties (trend)',
fontSize: '13px'
},
plot: {
maxNodes: 0,
maxTrackers: 0
},
plotarea: {
margin: '140px 30px 30px 40px'
},
scaleX: {
maxItems: 6,
step: 'month',
item: {
fontSize: 10
},
transform: {
type: 'date',
text: '%M %Y'
}
},
scaleY: {
maxItems: 6,
format: '%v%',
step: 20,
item: {
fontSize: '10px'
}
},
crosshairX: {
plotLabel: {
text: '<span style="color:%color;font-weight:bold;">%node-value%</span> %plot-text',
backgroundColor: '#f9f9f9',
borderRadius: '5px',
borderWidth: 0,
callout: false,
distance: 10,
fontSize: '12px',
multiple: false,
padding: '8px',
shadow: true,
shadowAlpha: 0.5,
shadowColor: '#333',
shadowDistance: 1
},
scaleLabel: {
fontSize: '10px'
},
mask: {
backgroundColor: '#eee'
}
},
shapes: [
{
type: 'circle',
backgroundImage: parties['REM'].icon,
borderWidth: '6px',
borderColor: parties['REM'].color,
size: '32px',
x: '20%',
y: '64px',
label: {
text: parties['REM'].leader + '<br>(REM)',
fontSize: '10px',
offsetY: '48px'
}
},
{
type: 'circle',
backgroundImage: parties['LR'].icon,
borderWidth: '6px',
borderColor: parties['LR'].color,
size: 32,
x: '50%',
y: '64px',
label: {
text: parties['LR'].leader + '<br>(LR)',
fontSize: '10px',
offsetY: '48px'
}
},
{
type: 'circle',
size: 32,
backgroundImage: parties['PS'].icon,
borderColor: parties['PS'].color,
borderWidth: '6px',
x: '80%',
y: '64px',
label: {
text: parties['PS'].leader + '<br>(PS)',
fontSize: '10px',
offsetY: '48px'
}
}
],
series: []
};
let sdata = [[], [], []];
let ts = Date.UTC(2018, 10, 15);
let pc1 = 20 + 40 * Math.random();
let pc2 = 20 + 40 * Math.random();
let pc3 = 10 + 20 * Math.random();
for (let d=0;d<48;d++) {
pc1 += -6 + 12 * Math.random();
if (pc1 > 80 || pc1 < 20) {
pc1 += ((pc1 > 80)?-1:1) * 6 * Math.random();
}
pc1 = parseFloat(pc1.toFixed(1));
pc2 += -5 + 10 * Math.random();
if (pc1 > 80 || pc1 < 20) {
pc2 += ((pc2 > 80)?-1:1) * 5 * Math.random();
}
pc2 = parseFloat(pc2.toFixed(1));
pc3 += -3 + 6 * Math.random();
if (pc1 > 80 || pc1 < 20) {
pc3 += ((pc3 > 80)?-1:1) * 3 * Math.random();
}
pc3 = parseFloat(pc3.toFixed(1));
sdata[0].push([ts, pc1]);
sdata[1].push([ts, pc2]);
sdata[2].push([ts, pc3]);
ts -= 1000*60*60*24*30.5;
}
gtime.series.push({
lineColor: parties['REM'].color,
text: parties['REM'].leader,
values: sdata[0].reverse()
});
gtime.series.push({
lineColor: parties['LR'].color,
text: parties['LR'].leader,
values: sdata[1].reverse()
});
gtime.series.push({
lineColor: parties['PS'].color,
text: parties['PS'].leader,
values: sdata[2].reverse()
});
// CHART CONFIG
// -----------------------------
let cdata = {
backgroundColor: '#fff',
borderColor: '#ddd',
borderWidth: '2px',
graphset: [
gmain,
gp1,
gp2,
gp3,
gtime
]
};
// RENDER CHARTS
// -----------------------------
zingchart.render({
id: chartId,
width: 600,
height: 600,
output: 'svg',
data: cdata,
modules: 'color-scale'
});
}
// HELPER FNS
// -----------------------------
function createBar(score, color) {
let sBar = "<span style='font-weight:bold;color:" + color + "'>";
for (let b=0;b<Math.round(score/4);b++) {
sBar += '\u2588';
}
sBar += '</span>';
return sBar;
}
function rand(min, max) {
return Math.round(min + (max-min)*Math.random());
};