JSFiddle - React, Tailwind, and code Playground
by Andy Kriebel
HTML
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/solid-gauge.js"></script>
<div style="width: 900px; height: 250px; margin: 0 auto">
<div id="header" style="text-align:center; font-size:18px; font-family:Lucida Grande">
<h1 class="verticaltext">
What characteristics are most important to British men and women?
</h1>
</div>
<div id="header2" style="text-align:center; font-size:12px; font-family:Lucida Grande; color:gray">
<h4 class="verticaltext">
Men and women both rate personality as the most important characteristic in a romantic parter. However, men rate good looks as the second most important characteristic while women prefer a good sense of humour.
</h4>
</div>
<div id="header" style="text-align:center; font-size:24px; font-family:Lucida Grande">
<h2 class="verticaltext">
Men
</h2>
</div>
<div id="container-speed" style="width: 300px; height: 200px; float: left"></div>
<div id="container-rpm" style="width: 300px; height: 200px; float: left"></div>
<div id="container-humour" style="width: 300px; height: 200px; float: left"></div>
<div id="container-intelligent" style="width: 300px; height: 200px; float: left"></div>
<div id="container-interests" style="width: 300px; height: 200px; float: left"></div>
<div id="container-money" style="width: 300px; height: 200px; float: left"></div>
<div id="header" style="text-align:center; font-size:24px; font-family:Lucida Grande">
<h2 class="verticaltext">
Women
</h2>
</div>
<div id="container-wpersonality" style="width: 300px; height: 200px; float: left"></div>
<div id="container-wlooks" style="width: 300px; height: 200px; float: left"></div>
<div id="container-whumour" style="width: 300px; height: 200px; float: left"></div>
<div id="container-wintelligent" style="width: 300px; height: 200px; float: left"></div>
<div...
JavaScript
var gaugeOptions = {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
// the value axis
yAxis: {
lineWidth: 0,
minorTickInterval: null,
tickAmount: 2,
title: {
y: -70
},
labels: {
y: 16
}
},
plotOptions: {
solidgauge: {
dataLabels: {
y: 5,
borderWidth: 0,
useHTML: true
}
}
}
};
// The Personality gauge
var chartSpeed = Highcharts.chart('container-speed', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: 100,
title: {
text: 'Personality'
}
},
credits: {
enabled: false
},
series: [{
name: 'Personality',
data: [52],
dataLabels: {
format: '<div style="text-align:center"><span style="font-size:25px;color:' +
((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span>' +
'<span style="font-size:25px">%</span></div>'
},
tooltip: {
valueSuffix: '%'
},
colors: ['#A0CBE8']
}]
}));
// The Good Looks gauge
var chartRpm = Highcharts.chart('container-rpm', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: 100,
title: {
text: 'Good Looking'
}
},
credits: {
enabled: false
},
series: [{
name: 'RPM',
data: [14],
dataLabels: {
format: '<div style="text-align:center"><span...