Google 根据结果 MySQL 和 PHP 使用不同颜色的图表条
Google charts bars in different colors based on Result MySQL And PHP
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Username', 'Total Sales'],
<?php
while($sub_row = mysqli_fetch_array($result2))
{
echo "['".$sub_row["date"]."', ".$sub_row["number"]."],";
}
?>
]);
var options = {
title : 'Month & Yearly Total Sales Values',
vAxis: {title: 'Total Sales'},
hAxis: {title: 'Month & Year'},
seriesType: 'bars',
series: {5: {type: 'line'}}
};
var chart = new google.visualization.ComboChart(document.getElementById('Salesman'));
chart.draw(data, options);
}
</script>
<?php
$con = mysqli_connect('localhost','handsmec_sales','handsmec_sales','handsmec_sales_portal') or die(mysqli_error());
$query2 = "SELECT DATE_FORMAT(order_datetime,'%Y') as date, SUM(order_total_after_tax) as number FROM tbl_order where status='Confirmed' and type='PROFORMA INVOICE' GROUP BY DATE_FORMAT(order_datetime,'%Y')";
$result2 = mysqli_query($con, $query2);
?>
<div id="Salesman" style="width: 650px; height: 500px;"></div>
结果会像附件一样显示Result of the code
我需要一个条形图,根据年份使用不同的颜色,我尝试使用颜色:青色、红色代码,但它会反映任何解决方案的第一种颜色??
Output of below code您可以使用下面的代码
<script type = "text/javascript">
google.charts.load('current', {packages: ['corechart']});
</script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Username', 'Total Sales',{role: 'style'}],
['xyz', 200,'#f44336'],
['tyu', 400,'#e91e63'],
['jhon',100,'#9c27b0']
]);
var options = {
title : 'Month & Yearly Total Sales Values',
vAxis: {title: 'Total Sales'},
hAxis: {title: 'Month & Year'},
seriesType: 'bars',
//colors: ['#009900', '#e0440e']
//series: {5: {type: 'line'}}
};
var chart = new google.visualization.ComboChart(document.getElementById('Salesman'));
chart.draw(data, options);
}
试试这个:
https://codepen.io/dichado/pen/qBEyKEL
颜色条在此处设置为 属性 样式:
["Element", "Density", { role: "style" } ]
来自集合 ["Element"、"Density"、"style"]:
["Copper", 8.94, "#b87333"],
["Silver", 10.49, "silver"],
["Gold", 19.30, "gold"],
["Platinum", 21.45, "color: #e5e4e2"]
这是正确的解决方案。
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawColumnChart);
function drawColumnChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Total sales', { role: 'style' }, { role: 'annotation' }],
<?php
for($i=0;$i<$resultCount;$i++){
?>[<?php echo "'".$date[$i]."', ".$number[$i].", '".$color[$i]."' , "."'".$number[$i]."'" ?>],
<?php }
?>
]);
var options = {
title: "Yearly Sales report",
chartArea: {width: '50%'},
legend: { position: "none" },
};
var chart = new google.visualization.ColumnChart(document.getElementById("column-chart"));
chart.draw(data, options);
}
</script>
<?php
if($_SESSION['role'] == "Manager") {
$query2 = "SELECT DATE_FORMAT(order_datetime,'%Y') as date, SUM(order_total_after_tax) as number FROM tbl_order where status='Confirmed' and type='PROFORMA INVOICE' GROUP BY DATE_FORMAT(order_datetime,'%Y')";
$result2 = mysqli_query($con, $query2);
$resultCount=$result2->num_rows;
$color = ['#dc7877','#9cbb73','#9ee2d9','#9f9ee2','#e29eba'];
$date = array();
$number = array();
foreach ($result2 as $peopleData) {
$date[] = $peopleData['date'];
$number[] = $peopleData['number'];
}
?>
<div id="column-chart" style="width: 650px; height: 500px;"></div>
Result has been attached as Image
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Username', 'Total Sales'],
<?php
while($sub_row = mysqli_fetch_array($result2))
{
echo "['".$sub_row["date"]."', ".$sub_row["number"]."],";
}
?>
]);
var options = {
title : 'Month & Yearly Total Sales Values',
vAxis: {title: 'Total Sales'},
hAxis: {title: 'Month & Year'},
seriesType: 'bars',
series: {5: {type: 'line'}}
};
var chart = new google.visualization.ComboChart(document.getElementById('Salesman'));
chart.draw(data, options);
}
</script>
<?php
$con = mysqli_connect('localhost','handsmec_sales','handsmec_sales','handsmec_sales_portal') or die(mysqli_error());
$query2 = "SELECT DATE_FORMAT(order_datetime,'%Y') as date, SUM(order_total_after_tax) as number FROM tbl_order where status='Confirmed' and type='PROFORMA INVOICE' GROUP BY DATE_FORMAT(order_datetime,'%Y')";
$result2 = mysqli_query($con, $query2);
?>
<div id="Salesman" style="width: 650px; height: 500px;"></div>
结果会像附件一样显示Result of the code 我需要一个条形图,根据年份使用不同的颜色,我尝试使用颜色:青色、红色代码,但它会反映任何解决方案的第一种颜色??
Output of below code您可以使用下面的代码
<script type = "text/javascript">
google.charts.load('current', {packages: ['corechart']});
</script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Username', 'Total Sales',{role: 'style'}],
['xyz', 200,'#f44336'],
['tyu', 400,'#e91e63'],
['jhon',100,'#9c27b0']
]);
var options = {
title : 'Month & Yearly Total Sales Values',
vAxis: {title: 'Total Sales'},
hAxis: {title: 'Month & Year'},
seriesType: 'bars',
//colors: ['#009900', '#e0440e']
//series: {5: {type: 'line'}}
};
var chart = new google.visualization.ComboChart(document.getElementById('Salesman'));
chart.draw(data, options);
}
试试这个:
https://codepen.io/dichado/pen/qBEyKEL
颜色条在此处设置为 属性 样式:
["Element", "Density", { role: "style" } ]
来自集合 ["Element"、"Density"、"style"]:
["Copper", 8.94, "#b87333"],
["Silver", 10.49, "silver"],
["Gold", 19.30, "gold"],
["Platinum", 21.45, "color: #e5e4e2"]
这是正确的解决方案。
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawColumnChart);
function drawColumnChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Total sales', { role: 'style' }, { role: 'annotation' }],
<?php
for($i=0;$i<$resultCount;$i++){
?>[<?php echo "'".$date[$i]."', ".$number[$i].", '".$color[$i]."' , "."'".$number[$i]."'" ?>],
<?php }
?>
]);
var options = {
title: "Yearly Sales report",
chartArea: {width: '50%'},
legend: { position: "none" },
};
var chart = new google.visualization.ColumnChart(document.getElementById("column-chart"));
chart.draw(data, options);
}
</script>
<?php
if($_SESSION['role'] == "Manager") {
$query2 = "SELECT DATE_FORMAT(order_datetime,'%Y') as date, SUM(order_total_after_tax) as number FROM tbl_order where status='Confirmed' and type='PROFORMA INVOICE' GROUP BY DATE_FORMAT(order_datetime,'%Y')";
$result2 = mysqli_query($con, $query2);
$resultCount=$result2->num_rows;
$color = ['#dc7877','#9cbb73','#9ee2d9','#9f9ee2','#e29eba'];
$date = array();
$number = array();
foreach ($result2 as $peopleData) {
$date[] = $peopleData['date'];
$number[] = $peopleData['number'];
}
?>
<div id="column-chart" style="width: 650px; height: 500px;"></div>
Result has been attached as Image