Google visualization 堆叠柱谷歌图表列内重叠标签

Google visualization 堆叠柱谷歌图表列内重叠标签,google-visualization,Google Visualization,我使用的是堆叠柱谷歌图表,但每列图表的注释或标签重叠,如下图所示: 我的代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div id="chart_divgraph" style="width: 750px; height:500px;"></div&g

我使用的是堆叠柱谷歌图表,但每列图表的注释或标签重叠,如下图所示:

我的代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
<div id="chart_divgraph" style="width: 750px; height:500px;"></div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script language="javascript">
    google.charts.load('current', {'packages':['corechart']});              
    google.charts.setOnLoadCallback(drawVisualization32);               
    function drawVisualization32() {                
    // Some raw data (not necessarily accurate)             
    /*var jsonData = $.ajax({               
    url: "getndata.php?cntnew=Ghatwar",             
    dataType: "json",               
    async: false                
    }).responseText;*/              
    // Create our data table out of JSON data loaded from server.               
    var data = new google.visualization.DataTable({"cols":[{"id":"","label":"Caste Section","pattern":"","type":"string"},{"id":"","label":"Private","pattern":"","type":"number"},{"id":"","label":"Community","pattern":"","type":"number"},{"id":"","label":"Open Defecation","pattern":"","type":"number"}],"rows":[{"c":[{"v":"SC","f":null},{"v":"0","f":null},{"v":"1","f":null},{"v":"47","f":null}]},{"c":[{"v":"ST","f":null},{"v":"3","f":null},{"v":"7","f":null},{"v":"51","f":null}]},{"c":[{"v":"OBC","f":null},{"v":"5","f":null},{"v":"6","f":null},{"v":"84","f":null}]},{"c":[{"v":"GEN","f":null},{"v":"17","f":null},{"v":"1","f":null},{"v":"26","f":null}]}],"p":null});     
    var view = new google.visualization.DataView(data);
      view.setColumns([0, 1,
                       { calc: getpercentage,
                         sourceColumn: 1,
                         type: "string",
                         role: "annotation" },
                       2,
                       { calc: getpercentagesecond,
                         sourceColumn: 2,
                         type: "string",
                         role: "annotation" },
                       3,
                       { calc: getpercentagethird,
                         sourceColumn: 3,
                         type: "string",
                         role: "annotation" }])
      function getpercentage(data, rowNum){
               var firstval = data.getValue(rowNum, 1)
               var secondval = data.getValue(rowNum, 2)  
               var thirdval = data.getValue(rowNum, 3)  
               var datavalueplus = parseInt(firstval)  + parseInt(secondval) + parseInt(thirdval);
               var finalpercentage = Math.abs( (firstval/datavalueplus)*100 ) ;
              var  numb = finalpercentage.toFixed(2);
  return (numb + "%");
}
function getpercentagesecond(data, rowNum){
               var firstval = data.getValue(rowNum, 1)
               var secondval = data.getValue(rowNum, 2)  
               var thirdval = data.getValue(rowNum, 3)  
               var datavalueplus = parseInt(firstval)  + parseInt(secondval) + parseInt(thirdval);
               var finalpercentage = Math.abs( (secondval/datavalueplus)*100 ) ;
              var  numb = finalpercentage.toFixed(2);
  return (numb + "%");
}
function getpercentagethird(data, rowNum){
               var firstval = data.getValue(rowNum, 1)
               var secondval = data.getValue(rowNum, 2)  
                var thirdval = data.getValue(rowNum, 3)  
               var datavalueplus = parseInt(firstval)  + parseInt(secondval) + parseInt(thirdval);
               var finalpercentage = Math.abs( (thirdval/datavalueplus)*100 ) ;
              var  numb = finalpercentage.toFixed(2);
  return (numb + "%");
}

    var options = {             
    title : 'Use of toilets across different prevailing caste section in village',                  
    seriesType: 'bars', 
      /* width: 600,
        height: 400,*/
    /* bar: { groupWidth: 20 },     */  
    vAxis: {
        /*minValue: 0,*/
  /*      scaleType: 'mirrorLog',*/
  viewWindowMode:'pretty',

  },
    isStacked:"percent"                 
    };              
    var chart = new google.visualization.ComboChart(document.getElementById('chart_divgraph'));             
    chart.draw(view, options);              
    }

    </script>
</body>
</html>

load('current',{'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization32);
函数drawVisualization32(){
//一些原始数据(不一定准确)
/*var jsonData=$.ajax({
url:“getnda.php?cntnew=Ghatwar”,
数据类型:“json”,
异步:false
}).responseText;*/
//使用从服务器加载的JSON数据创建我们的数据表。
var data=new google.visualization.DataTable({“cols”:[{“id”:“,”标签“:”种姓区“,”模式“,”类型“:”字符串“},{“id”:“,”标签“,”私人“,”模式“,”类型“:”编号“},{“id”:“,”标签“,”开放式排便“,”模式“,”类型“:”编号“,”行“:[{“c”:[{“v”:“v”:“SC”,“f”:“,”空},{“v”:“0”,“f”,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,f:null},{“v”:“26”,“f:null}]}],“p:null});
var view=newgoogle.visualization.DataView(数据);
view.setColumns([0,1,1,
{calc:getpercentage,
资料来源专栏:1,
键入:“字符串”,
角色:“注释”},
2.
{calc:getpercentagesecond,
资料来源专栏:2,
键入:“字符串”,
角色:“注释”},
3.
{calc:getpercentagethird,
资料来源专栏:3,
键入:“字符串”,
角色:“注释”}])
函数getpercentage(数据,rowNum){
var firstval=data.getValue(rowNum,1)
var secondval=data.getValue(rowNum,2)
var thirdval=data.getValue(rowNum,3)
var datavalueplus=parseInt(firstval)+parseInt(secondval)+parseInt(thirdval);
var finalpercentage=Math.abs((firstval/datavalueplus)*100);
var Num=最终百分比toFixed(2);
返回值(numb+“%”);
}
函数getpercentagesecond(数据,rowNum){
var firstval=data.getValue(rowNum,1)
var secondval=data.getValue(rowNum,2)
var thirdval=data.getValue(rowNum,3)
var datavalueplus=parseInt(firstval)+parseInt(secondval)+parseInt(thirdval);
var finalpercentage=Math.abs((第二个VAL/datavalueplus)*100);
var Num=最终百分比toFixed(2);
返回值(numb+“%”);
}
函数getpercentagethird(数据,rowNum){
var firstval=data.getValue(rowNum,1)
var secondval=data.getValue(rowNum,2)
var thirdval=data.getValue(rowNum,3)
var datavalueplus=parseInt(firstval)+parseInt(secondval)+parseInt(thirdval);
var finalpercentage=Math.abs((第三个/datavalueplus)*100);
var Num=最终百分比toFixed(2);
返回值(numb+“%”);
}
变量选项={
标题:“在村庄不同的主要种姓群体中使用厕所”,
序列类型:“条”,
/*宽度:600,
身高:400*/
/*条:{groupWidth:20},*/
言辞:{
/*最小值:0*/
/*scaleType:'mirrorLog'*/
viewWindowMode:“漂亮”,
},
“百分比”
};              
var chart=new google.visualization.ComboChart(document.getElementById('chart\u divgraph');
图表绘制(视图、选项);
}

我在stackoverflow上尝试了各种解决方案,但没有得到结果。有人能帮我吗?提前感谢

检查…是的,我正在尝试您共享的答案,但当我编写viewWindow:{max:maxVaxis+2000}时,它显示了错误的百分比值请检查此图像
2000
只是一个提升顶部的数字,选择不设置选项时显示的最大值上方的数字…谢谢我找到了最小化字体大小并使用批注的解决方案。谢谢@WhiteHat Code isseriesType:'bar',批注:{textStyle:{fontSize:11},series:{0:{annotations:{stem:{length:10},},1:{annotations:{stem:{length:30}},2:{annotations:{stem:{color:{transparent',length:40},},},},