InkStitch - data visualization/highcharts-bubble-js-code
Jump to navigation
Jump to search
HTML:
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
JavaScript:
// This was made to create SVG for embroidery with InkStitch
// See: https://edutechwiki.unige.ch/en/InkStitch_-_data_visualization
Highcharts.chart('container', {
chart: {
type: 'bubble',
plotBorderWidth: 2,
zoomType: 'xy',
spacingTop: 20,
width: 670, //pixels only. That will be DPI dependant.
height: "72%"
},
legend: {
enabled: false
},
title: {
align: "left",
widthAjust: 0,
text: 'SUGAR, FAT INTAKE, OBESITY',
style: {"fontSize":"27pt","fontWeight":"bold", "color": "black"}
},
// subtitle: {
// text: 'Source: <a href="http://www.euromonitor.com/">Euromonitor</a> and <a href="https://data.oecd.org/">OECD</a>'
//},
xAxis: {
startOnTick: false,
endOnTick: false,
// minTickInterval: 15,
tickAmount: 4,
max:95,
gridLineWidth: 1,
lineColor: "black",
title: {
text: 'DAILY FAT',
margin: 20,
style: {"fontSize":"24pt", "fontWeight":"bold", "color": "black"}
},
labels: {
// padding: 10,
align: "center",
format: '{value} G',
style: {
fontSize:"20pt",
fontWeight:"bold",
color:"red"
}
},
plotLines: [{
color: 'red',
dashStyle: 'dot',
width: 2,
value: 65,
label: {
rotation: 0,
y: 15,
style: {
fontWeight: 'bold',
fontSize:"20pt",
color:"red"
},
text: 'SAFE FAT - 65 G/DAY'
},
zIndex: 3
}]
},
yAxis: {
startOnTick: false,
endOnTick: false,
tickAmount: 4,
lineColor: "black",
gridLineColor: "black",
title: {
text: 'DAILY SUGAR',
style: {"fontSize":"24pt", "fontWeight":"bold", "color": "black","whiteSpace":'nowrap'}
},
labels: {
format: '{value} G',
style: {
fontSize:"20pt",
fontWeight: "bold",
color:"red"
}
},
maxPadding: 0.2,
plotLines: [{
color: 'red',
dashStyle: 'dot',
width: 2,
value: 50,
label: {
align: 'right',
style: {
fontWeight: 'bold',
fontSize:"20pt",
color:"red"
},
text: 'SAFE SUGAR - 50 G/DAY',
x: -10
},
zIndex: 3
}]
},
tooltip: {
useHTML: true,
headerFormat: '<table>',
pointFormat: '<tr><th colspan="2"><h3>{point.country}</h3></th></tr>' +
'<tr><th>Fat intake:</th><td>{point.x}g</td></tr>' +
'<tr><th>Sugar intake:</th><td>{point.y}g</td></tr>' +
'<tr><th>Obesity (adults):</th><td>{point.z}%</td></tr>',
footerFormat: '</table>',
followPointer: true
},
plotOptions: {
series: {
dataLabels: {
enabled: true,
format: '{point.name}'
}
},
bubble: {minSize:"5%", maxSize:"25%"}
},
series:
[{
dataLabels: {
allowOverlap: true,
style: {
fontSize:"20pt",
color: "blue",
fontWeight: "bold",
textOutline: "0px"
}
},
data: [
{ x: 95, y: 95, z: 13.8, name: 'BE', country: 'Belgium' },
{ x: 86.5, y: 102.9, z: 14.7, name: 'DE', country: 'Germany' },
{ x: 80.8, y: 91.5, z: 15.8, name: 'FI', country: 'Finland' },
{ x: 80.4, y: 102.5, z: 12, name: 'NL', country: 'Netherlands' },
{ x: 80.3, y: 86.1, z: 11.8, name: 'SE', country: 'Sweden' },
{ x: 78.4, y: 70.1, z: 16.6, name: 'ES', country: 'Spain' },
{ x: 74.2, y: 68.5, z: 14.5, name: 'FR', country: 'France' },
{ x: 73.5, y: 83.1, z: 10, name: 'NO', country: 'Norway' },
{ x: 71, y: 93.2, z: 24.7, name: 'UK', country: 'United Kingdom' },
{ x: 69.2, y: 57.6, z: 10.4, name: 'IT', country: 'Italy' },
{ x: 68.6, y: 20, z: 16, name: 'RU', country: 'Russia' },
{ x: 65.5, y: 126.4, z: 35.3, name: 'US', country: 'United States' },
{ x: 65.4, y: 50.8, z: 28.5, name: 'HU', country: 'Hungary' },
{ x: 63.4, y: 51.8, z: 15.4, name: 'PT', country: 'Portugal' },
{ x: 64, y: 82.9, z: 31.3, name: 'NZ', country: 'New Zealand' }
]
}]
});