Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用按钮切换两个图表_Php_Html_Charts_Google Visualization - Fatal编程技术网

Php 如何使用按钮切换两个图表

Php 如何使用按钮切换两个图表,php,html,charts,google-visualization,Php,Html,Charts,Google Visualization,我有一个页面,需要比较饼图和条形图之间的2种不同数据,有2个按钮可以在它们之间切换,但它只在图表的1个上起作用 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> // Load Charts and the corechart package. google.charts.

我有一个页面,需要比较饼图和条形图之间的2种不同数据,有2个按钮可以在它们之间切换,但它只在图表的1个上起作用

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
// Load Charts and the corechart package.
google.charts.load('current', {'packages':['corechart']});

// Draw the Sarah's chart when Charts is loaded.
google.charts.setOnLoadCallback(drawSarahChart);

// Draw the Anthony's chart when Charts is loaded.
google.charts.setOnLoadCallback(drawAnthonyChart);

// Callback that draws the chart for Sarah's.
function drawSarahChart() {


    var chart = new google.visualization.ChartWrapper({
containerId: 'Sarah_chart_div'
});
    var data = google.visualization.arrayToDataTable([
        ['Year','location'],
        <?php 
              while($row=mysqli_fetch_array($res))
              {
                  echo "['".$row["locationid"]."',".$row["number"]."],";
              } ?>

              ]);

    var options = {title:'FY 2018',
            width:400,
            height:300};


    var barsButton = document.getElementById('b1');
var PieButton = document.getElementById('b2');

chart.setOptions(options);

function drawBars() {
chart.setChartType('ColumnChart');
chart.setDataTable(data);
chart.draw();
}

function drawPie() {
chart.setChartType('PieChart');
chart.setDataTable(data);
chart.draw();
}

barsButton.onclick = function () {
drawBars();
}

PieButton.onclick = function () {
drawPie();
}
drawBars();
}

// Callback that draws the chart for Anthony's.
function drawAnthonyChart() {
    var chart = new google.visualization.ChartWrapper({
        containerId: 'Anthony_chart_div'
        });
    // Create the data table for Anthony's pizza.
    var data = google.visualization.arrayToDataTable([
          ['Year','location'],
     <?php 
              while($row=mysqli_fetch_array($res2))
              {
                  echo "['".$row["roleid"]."',".$row["number"]."],";
              } ?>

              ]);

    // Set options for Anthony's pie chart.
    var options = {title:'FY 2019',
    width:400,
    height:300};


    var barsButton = document.getElementById('b1');
var PieButton = document.getElementById('b2');

chart.setOptions(options);

function drawBars() {
chart.setChartType('ColumnChart');
chart.setDataTable(data);
chart.draw();
}

function drawPie() {
chart.setChartType('PieChart');
chart.setDataTable(data);
chart.draw();
}

barsButton.onclick = function () {
drawBars();
}

PieButton.onclick = function () {
drawPie();
}
drawBars();
}

    </script>   
    <body>
   <input type = 'button' id = 'b1' value = 'Draw Bar Chart' />
    <input type = 'button' id = 'b2' value = 'Draw Pie Chart' />
    <table>
  <tr>
<td><div id="Sarah_chart_div" style="border: 1px solid #ccc"></div></td>
<td><div id="Anthony_chart_div" style="border: 1px solid #ccc"></div></td>
    </tr>
    </table>

    </body>


</html>


//加载图表和corechart包。
load('current',{'packages':['corechart']});
//加载图表时绘制Sarah图表。
google.charts.setOnLoadCallback(drawSarahChart);
//加载图表时绘制安东尼图表。
google.charts.setOnLoadCallback(drawAnthonyChart);
//为Sarah绘制图表的回调。
函数drawSarahChart(){
var chart=new google.visualization.ChartWrapper({
集装箱船:“莎拉·海图·分区”
});
var data=google.visualization.arrayToDataTable([
[“年”,“地点],

您可以初始化加载回调中的按钮,
并将图表类型传递给绘图函数

注意:我添加了硬编码数据以供示例使用,
您可以添加回您的php数据

请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var barsButton=document.getElementById('b1');
var pieButton=document.getElementById('b2');
barsButton.onclick=函数(){
drawSarahChart(“柱形图”);
图纸(“柱形图”);
}
pieButton.onclick=函数(){
drawSarahChart(“PieChart”);
挂图(“挂图”);
}
drawSarahChart(“柱形图”);
图纸(“柱形图”);
});
功能图SarahChart(图表类型){
var chart=new google.visualization.ChartWrapper({
集装箱船:“莎拉·海图·分区”
});
var data=google.visualization.arrayToDataTable([
[‘年份’、‘地点’],
[A',100],
[B',120]
]);
变量选项={
标题:“2018财年”,
宽度:400,
身高:300
};
图表.设置选项(选项);
chart.setChartType(chartType);
图表.可设置数据表(数据);
chart.draw();
}
函数绘图图表(图表类型){
var chart=new google.visualization.ChartWrapper({
集装箱船:“Anthony_chart_div”
});
var data=google.visualization.arrayToDataTable([
[‘年份’、‘地点’],
[A',100],
[B',120]
]);
变量选项={
标题:“2019财年”,
宽度:400,
身高:300
};
var barsButton=document.getElementById('b1');
var pieButton=document.getElementById('b2');
图表.设置选项(选项);
chart.setChartType(chartType);
图表.可设置数据表(数据);
chart.draw();
}

您可以初始化加载回调中的按钮,
并将图表类型传递给绘图函数

注意:我添加了硬编码数据以供示例使用,
您可以添加回您的php数据

请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var barsButton=document.getElementById('b1');
var pieButton=document.getElementById('b2');
barsButton.onclick=函数(){
drawSarahChart(“柱形图”);
图纸(“柱形图”);
}
pieButton.onclick=函数(){
drawSarahChart(“PieChart”);
挂图(“挂图”);
}
drawSarahChart(“柱形图”);
图纸(“柱形图”);
});
功能图SarahChart(图表类型){
var chart=new google.visualization.ChartWrapper({
集装箱船:“莎拉·海图·分区”
});
var data=google.visualization.arrayToDataTable([
[‘年份’、‘地点’],
[A',100],
[B',120]
]);
变量选项={
标题:“2018财年”,
宽度:400,
身高:300
};
图表.设置选项(选项);
chart.setChartType(chartType);
图表.可设置数据表(数据);
chart.draw();
}
函数绘图图表(图表类型){
var chart=new google.visualization.ChartWrapper({
集装箱船:“Anthony_chart_div”
});
var data=google.visualization.arrayToDataTable([
[‘年份’、‘地点’],
[A',100],
[B',120]
]);
变量选项={
标题:“2019财年”,
宽度:400,
身高:300
};
var barsButton=document.getElementById('b1');
var pieButton=document.getElementById('b2');
图表.设置选项(选项);
chart.setChartType(chartType);
图表.可设置数据表(数据);
chart.draw();
}


在您的代码中有额外的
牵引杆();}
饼图按钮之后。单击
@fusionweb,在页面加载时不单击任何按钮即可显示图表?还是我做错了?我想在调用牵引杆后,您会得到额外的
}
function@Fussionweb感谢您的及时回复,这是为了关闭“drawAnthonyChart”功能。在您的代码中有额外的
牵引杆()}
饼图按钮之后。单击
@fusionweb,在页面加载时不单击任何按钮即可显示图表?还是我做错了?我想在调用牵引杆后,您会得到额外的
}
function@Fussionweb感谢您的及时回复,这是为了关闭“drawAnthonyChart”函数。谢谢!这正是我想要的。在旁注中,我如何添加工具栏以便可以作为csv和pdf导出/下载?检查这些答案-->&谢谢!这正是我想要的。在旁注中,我如何添加工具栏以便可以作为csv和pdf导出/下载?检查这些答案-->&