Hallo,
ich versuche ein HEatmap Chart mit Daten aus der SQL Datenbank zu befüllen.
Als Script benutze ich das ApexChart und habe es mir etwas angepasst. (nur Tetszwecke, was die Daten angeht)
JavaScript
<script>
window.Promise ||
document.write(
'<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"><\/script>'
)
window.Promise ||
document.write(
'<script src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"><\/script>'
)
window.Promise ||
document.write(
'<script src="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn"><\/script>'
)
</script>
<script src="https://cdn.jsdelivr.net/npm/react@16.12/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.12/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prop-types@15.7.2/prop-types.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<script src="https://cdn.jsdelivr.net/npm/react-apexcharts@1.3.6/dist/react-apexcharts.iife.min.js"></script>
<script>
function generateData(count, yrange) {
var i = 0;
var series = [];
while (i < count) {
var x = '' + (i).toString();
var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
series.push({
x: x,
y: y
});
i++;
var i = i -0.5;
}
return series;
}
</script>
</head>
<body>
<div id="app"></div>
<div id="html">
<div id="chart">
<ReactApexChart options={this.state.options} series={this.state.series} type="heatmap" height={350} />
</div>
</div>
<script type="text/babel">
class ApexChart extends React.Component {
constructor(props) {
super(props);
this.state = {
series: [{
name: 'Sonntag',
data: generateData(24, {
min: 0,
max: 2222
})
},
{
name: 'Samstag',
data: generateData(24, {
min: 0,
max: 2222
})
},
{
name: 'Freitag',
data: generateData(24, {
min: 0,
max: 2222
})
},
{
name: 'Donnerstag',
data: generateData(24, {
min: 0,
max: 2222
})
},
{
name: 'Mittwoch',
data: generateData(24, {
min: 0,
max: 2222
})
},
{
name: 'Dienstag',
data: generateData(24, {
min: 0,
max: 2222
})
},
{
name: 'Montag',
data: generateData(24, {
min: 0,
max: 2222
})
},
],
options: {
chart: {
height: 350,
type: 'heatmap',
},
dataLabels: {
enabled: false
},
colors: ["#FF5733"],
title: {
text: 'Onlinezeiten Obamacare'
},
},
};
}
render() {
return (
<div>
<div id="chart">
<ReactApexChart options={this.state.options} series={this.state.series} type="heatmap" height={350} />
</div>
<div id="html-dist"></div>
</div>
);
}
}
const domContainer = document.querySelector('#app');
ReactDOM.render(React.createElement(ApexChart), domContainer);
</script>
Alles anzeigen
MIt JS kenne ich mich kaum aus, daher frage ich hier (erstmal mit den Grundsätzlichen Fragen).
Wie kann ich die Daten aus meiner SQL Abfrage dort einbinden? Zumindest auf der Seite des Sripts gibt es da keinen support und Recherche im Netz ergab, dass man das mit JSON bewerkstelligen könnte. Leider ist JS nicht mein Gebiet.
Danke sehr
Grüße
Blickwinkelkanone