если вы добавите строки в одну таблицу данных и нарисуете одну диаграмму,
вы получите две измерительные диаграммы в строке, а не одна поверх другой ...
однако, прочитав вопрос ближе,
вам нужно будет нарисовать две разные диаграммы,
, потому что варианты не одинаковы для обоих.
сначала, чтобы получить две диаграммы в строке, а не в столбце,
вы можете добавить следующий класс CSS .gauge
class ...
.gauge {
display: inline-block;
}
thisзаставит элементы <div>
отображаться рядом друг с другом.
Что касается суффикса, необходимо использовать уникальные имена для форматеров.
выше, одна и та же переменная используется для обоих -> var formatter
, когда второйсоздается, он переопределяет суффикс для первого.
вместо ...
var formatter = new google.visualization.NumberFormat({
suffix: '%',
fractionDigits: 1
});
formatter.format(dataHumid, 1);
var formatter = new google.visualization.NumberFormat({
suffix: 'h',
fractionDigits: 1
});
formatter.format(dataTemp, 1);
мы будем использовать ...
var formatHumid = new google.visualization.NumberFormat({
suffix: '%',
fractionDigits: 1
});
formatHumid.format(dataHumid, 1);
var formatTemp = new google.visualization.NumberFormat({
suffix: 'h',
fractionDigits: 1
});
formatTemp.format(dataTemp, 1);
см. следующую работуфрагмент ...
google.charts.load('current', {
packages: ['gauge']
}).then(function () {
var dataHumid = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Humid', 0]
]);
var dataTemp = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Temp', 0]
]);
var optionsHumid = {
width: 170, height: 170,
redFrom: 0, redTo: 33,
yellowFrom: 33, yellowTo: 66,
greenFrom: 66, greenTo: 100,
majorTicks: ['0','10','20','30','40','50','60','70','80','90', '100'],
minorTicks: 10
};
var formatHumid = new google.visualization.NumberFormat({
suffix: '%',
fractionDigits: 1
});
formatHumid.format(dataHumid, 1);
var optionsTemp = {
width: 170, height: 170,
redFrom: 30, redTo: 45,
yellowFrom: 24, yellowTo: 30,
greenFrom: 12, greenTo: 24,
majorTicks: ['0','10','20','30','40','50','60','70','80','90', '100'],
minorTicks: 10
};
var formatTemp = new google.visualization.NumberFormat({
suffix: 'h',
fractionDigits: 1
});
formatTemp.format(dataTemp, 1);
var chartHumid = new google.visualization.Gauge(document.getElementById("chart_Humid"));
var chartTemp = new google.visualization.Gauge(document.getElementById("chart_Temp"));
chartHumid.draw(dataHumid, optionsHumid);
chartTemp.draw(dataTemp, optionsTemp);
setInterval(function() {
/*
var JSON=$.ajax({
url:"sensores.php",
dataType: 'json',
async: false}).responseText;
var Respuesta=jQuery.parseJSON(JSON);
dataHumid.setValue(0, 1, Respuesta[0].humidity);
*/
dataHumid.setValue(0, 1, 74.9);
formatHumid.format(dataHumid, 1);
chartHumid.draw(dataHumid, optionsHumid);
}, 1300);
setInterval(function() {
/*
var JSON=$.ajax({
url:"sensores.php",
dataType: 'json',
async: false}).responseText;
var Respuesta=jQuery.parseJSON(JSON);
dataTemp.setValue(0, 1, Respuesta[0].temperature);
*/
dataTemp.setValue(0, 1, 27.5);
formatTemp.format(dataTemp, 1);
chartTemp.draw(dataTemp, optionsTemp);
}, 1300);
});
.gauge {
display: inline-block;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div class="gauge" id="chart_Humid"></div>
<div class="gauge" id="chart_Temp"></div>