Charts GOOGLE折线图错误:给定轴上的所有系列必须具有相同的数据类型。空查询
我对折线图有一个问题,当查询给出空结果或没有行时,折线图显示错误“给定轴上的所有系列必须具有相同的数据类型” 如果你仔细看有7个查询(每个人在同一个图表上画一条线),如果任何查询返回一个空结果(没有行),我会在主题标题中得到错误。当所有查询都不为空时,图表将正常工作 有没有办法避免这个错误Charts GOOGLE折线图错误:给定轴上的所有系列必须具有相同的数据类型。空查询,charts,google-visualization,line,Charts,Google Visualization,Line,我对折线图有一个问题,当查询给出空结果或没有行时,折线图显示错误“给定轴上的所有系列必须具有相同的数据类型” 如果你仔细看有7个查询(每个人在同一个图表上画一条线),如果任何查询返回一个空结果(没有行),我会在主题标题中得到错误。当所有查询都不为空时,图表将正常工作 有没有办法避免这个错误 <?php $curyear = date('Y'); $con = mysqli_connect('xxx','xxx','xxx','xxx'); ?> <html>
<?php
$curyear = date('Y');
$con = mysqli_connect('xxx','xxx','xxx','xxx');
?>
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi">
</script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
// Callback that creates and populates a data table,
// instantiates the pie chart, passes in the data and
// draws it.
function drawChart() {
var data1 = google.visualization.arrayToDataTable([
['Date', 'LaMotta'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as LaMotta, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ01' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['LaMotta']."],";
}
?>
]);
var data2 = google.visualization.arrayToDataTable([
['Date', 'Spadone'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Spadone, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ02' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Spadone']."],";
}
?>
]);
var data3 = google.visualization.arrayToDataTable([
['Date', 'Ivo'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Ivo, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ11' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Ivo']."],";
}
?>
]);
var data4 = google.visualization.arrayToDataTable([
['Date', 'Montagliani'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Montagliani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ12' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Montagliani']."],";
}
?>
]);
var data5 = google.visualization.arrayToDataTable([
['Date', 'Galtieri'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Galtieri, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ21' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Galtieri']."],";
}
?>
]);
var data6 = google.visualization.arrayToDataTable([
['Date', 'Giacometti'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Giacometti, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ22' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Giacometti']."],";
}
?>
]);
var data7 = google.visualization.arrayToDataTable([
['Date', 'Mantovani'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Mantovani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ23' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Mantovani']."],";
}
?>
]);
var joinedData = google.visualization.data.join(data1, data2, 'full', [[0, 0]], [1], [1]);
var joinedData2 = google.visualization.data.join(joinedData, data3, 'full', [[0, 0]], [1,2], [1]);
var joinedData3 = google.visualization.data.join(joinedData2, data4, 'full', [[0, 0, 0]], [1,2,3], [1]);
var joinedData4 = google.visualization.data.join(joinedData3, data5, 'full', [[0, 0, 0, 0]], [1,2,3,4], [1]);
var joinedData5 = google.visualization.data.join(joinedData4, data6, 'full', [[0, 0, 0, 0, 0]], [1,2,3,4,5], [1]);
var joinedData6 = google.visualization.data.join(joinedData5, data7, 'full', [[0, 0, 0, 0, 0, 0]], [1,2,3,4,5,6], [1]);
// sort by start and end dates
var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(joinedData6, {
height: 500,
width: 1400,
interpolateNulls: true,
});
}
google.load('visualization', '1', {packages:['corechart'], callback: drawChart});
</script>
</head>
<body><br /><br />
<div style="width:1500px;" align="center">
<h1 align="center" style="font-size:22px">Produzione SMARTEASY: MYENNOVA (Ultimi 10 Mesi)</h1>
<br />
<div align="center" id="piechart2" style="float:left; width: 700px; height: 390px;"></div>
<div align="center" id="piechart1" style="float:left; width: 700px; height: 390px;"></div>
</div>
<!--Divs that will hold the charts-->
<div id="chart_div"></div>
</body>
</html>
//加载可视化API和piechart包。
load('visualization','1.0',{'packages':['corechart']});
//将回调设置为在加载Google Visualization API时运行。
setOnLoadCallback(drawChart);
//创建并填充数据表的回调,
//实例化饼图,传入数据并
//画它。
函数绘图图(){
var data1=google.visualization.arrayToDataTable([
[“日期”,“拉莫塔”],
您可以使用数据视图绘制图表,
并且仅包括具有值的联接数据中的列
使用数据表方法getColumnRange
,
我们可以确定该列是否有数据
没有数据的列,
getColumnRange
将为min
和max
返回null
// build view columns
var viewColumns = [];
for (var i = 0; i < joinedData6.getNumberOfColumns(); i++) {
var range = joinedData6.getColumnRange(i);
// determine if column has values
if (!((range.min === null) && (range.min === null))) {
viewColumns.push(i);
}
}
// build data view
var view = new google.visualization.DataView(joinedData6);
view.setColumns(viewColumns);
var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(view, { // <-- use view to draw chart
height: 500,
width: 1400,
interpolateNulls: true,
});
//生成视图列
var viewColumns=[];
对于(var i=0;i
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var data1=google.visualization.arrayToDataTable([
[“日期”,“拉莫塔”],
我正在尝试在我的脚本上修改你的示例脚本。但我有一些困难,因为我不知道,但似乎缺少一些标记。我已经完全删除了脚本的最后一部分,将你的放入其中。但是在页面开始时,我需要删除什么?我将添加我所做的。可能是这样做的:)从数据库中删除0行:)
<?php
$curyear = date('Y');
$con = mysqli_connect('xxx','xxx','xxx','xxx');
?>
<!--Load the AJAX API-->
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var data1 = google.visualization.arrayToDataTable([
['Date', 'LaMotta'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as LaMotta, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ01' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['LaMotta']."],";
}
?>
]);
var data2 = google.visualization.arrayToDataTable([
['Date', 'Spadone'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Spadone, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ02' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Spadone']."],";
}
?>
]);
var data3 = google.visualization.arrayToDataTable([
['Date', 'Ivo'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Ivo, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ11' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Ivo']."],";
}
?>
]);
var data4 = google.visualization.arrayToDataTable([
['Date', 'Montagliani'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Montagliani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ12' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Montagliani']."],";
}
?>
]);
var data5 = google.visualization.arrayToDataTable([
['Date', 'Galtieri'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Galtieri, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ21' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Galtieri']."],";
}
?>
]);
var data6 = google.visualization.arrayToDataTable([
['Date', 'Giacometti'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Giacometti, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ22' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Giacometti']."],";
}
?>
]);
var data7 = google.visualization.arrayToDataTable([
['Date', 'Mantovani'],
<?php
$query = "SELECT responsabile, sum(val_fattu) as Mantovani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ23' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)){
echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Mantovani']."],";
}
?>
]);
var joinedData = google.visualization.data.join(data1, data2, 'full', [[0, 0]], [1], [1]);
var joinedData2 = google.visualization.data.join(joinedData, data3, 'full', [[0, 0]], [1,2], [1]);
var joinedData3 = google.visualization.data.join(joinedData2, data4, 'full', [[0, 0, 0]], [1,2,3], [1]);
var joinedData4 = google.visualization.data.join(joinedData3, data5, 'full', [[0, 0, 0, 0]], [1,2,3,4], [1]);
var joinedData5 = google.visualization.data.join(joinedData4, data6, 'full', [[0, 0, 0, 0, 0]], [1,2,3,4,5], [1]);
var joinedData6 = google.visualization.data.join(joinedData5, data7, 'full', [[0, 0, 0, 0, 0, 0]], [1,2,3,4,5,6], [1]);
// sort by start and end dates
// build view columns
var viewColumns = [];
for (var i = 0; i < joinedData6.getNumberOfColumns(); i++) {
var range = joinedData6.getColumnRange(i);
// determine if column has values
if ((range.min !== null) || (range.max !== null)) {
viewColumns.push(i);
}
}
// build data view
var view = new google.visualization.DataView(joinedData6);
view.setColumns(viewColumns);
var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(view, { // <-- use view to draw chart
height: 500,
width: 1400,
interpolateNulls: true,
});
});