我无法从饼图中删除不需要的0%。此数字显示所有可用选项的百分比。如果一个选项根据过滤器没有任何值,它会显示一个0%的值,我想将其删除。我在下面粘贴我的代码。
function drawPieChart(versionStatusCanvas,on_hold, active, cancelled,
activecount, onholdcount, cancelledcount) {
var versionStatusData = [{
value: on_hold,
color:"#444444",
label: "On Hold(" +onholdcount+")",
},
{
value: active,
color: "#72bb53",
label: "Active(" +activecount+")",
},
{
value: cancelled,
color: "#ff6624",
label: "Cancelled(" +cancelledcount+")",
}];
var versionStatusCanvas = document.getElementById("versionStatus");
var versionStatusCtx = versionStatusCanvas.getContext("2d");
var versionStatusChart = new Chart(versionStatusCtx).Pie(versionStatusData,{
animationSteps: 100,
animationEasing: 'easeInOutQuart',
showTooltips: false,
segmentShowStroke : false,
onAnimationProgress: drawSegmentValues
});
document.getElementById('version-status-legend').innerHTML =
versionStatusChart.generateLegend();
function drawSegmentValues(){
var radius = versionStatusChart.outerRadius;
var midX = versionStatusCanvas.width/2;
var midY = versionStatusCanvas.height/2
for(var i=0; i<versionStatusChart.segments.length; i++){
versionStatusCtx.fillStyle="white";
var textSize = versionStatusCanvas.width/20;
versionStatusCtx.font= textSize+"px Verdana";
// Get needed variables
var value = versionStatusChart.segments[i].value + '%';
var startAngle = versionStatusChart.segments[i].startAngle;
var endAngle = versionStatusChart.segments[i].endAngle;
var middleAngle = startAngle + ((endAngle - startAngle)/2);
// Compute text location
var posX = (radius/2) * Math.cos(middleAngle) + midX;
var posY = (radius/2) * Math.sin(middleAngle) + midY;
// Text offside by middle
var w_offset = versionStatusCtx.measureText(value).width/2;
var h_offset = textSize/4;
if(value != '0.0%')
versionStatusCtx.fillText(value, posX - w_offset, posY + h_offset);
}
}
}
这些值从JSON中的php控制器传递。我尝试了各种方法来使它正常工作,但我却做不到。任何援助将不胜感激。
php参考方案
尝试这个:
if(parseInt(value) > 0)
versionStatusCtx.fillText(value, posX - w_offset, posY + h_offset);
}
parseInt(value)
将值解析为int以与零进行比较。以前在代码中,该值将一个%符号连接到该值,使其成为字符串。
在我的用户界面中,用户可以构建一些javascript对象,例如:var box = { "width": "100px", "height": "200px", "click": function () { alert("You clicked t…
php:是否有充分的理由引用所有数组键/索引? - php我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…
当文本等于单选按钮的值时,选择单选按钮 - php当下拉菜单中的文本等于值时,是否可以选择2个名称相同但值不同的单选按钮中的1个?https://paste.ee/p/2iCjA第97行我用if-else尝试过:if($('input[name="anrede"]').val() == 'Herr') { $("#Herr").…
从网址中删除特殊字符,但不删除其他语言字符 - php我正在开发一个Web应用程序,人们可以用英语和其他语言发布文章(例如论坛)。为了从帖子标题创建漂亮的永久链接,我使用如下代码。PHP:$ln=preg_replace("/[^A-Za-z0-9[:space:]]/","",$name); $ln = strtolower($ln); $ln=str_replace(…
php fopen相对路径断开-神秘 - php我知道“必须进行某些更改”,但是我的代码似乎整夜无故中断。我的服务器目录结构是这样的: / /脚本 /审计 /其他事情我在“脚本”文件夹中有一个脚本(假设它被称为“ /scripts/MyScript.php”),该脚本使用curl收集网页中的数据,并将其日期过的副本保存在“审核”文件夹中。要写入审核文件夹,我使用了 $ fh = fopen(“ ./ au…