gpt4 book ai didi

javascript - 如何删除 Chart.js 中图例文本旁边的矩形框

转载 作者:行者123 更新时间:2023-12-01 02:09:53 25 4
gpt4 key购买 nike

在本例中,我试图删除图表中“图例”文本“分数列表”左侧的小矩形框。我在文档中找不到任何显示如何执行此操作的内容。是的,我找到了如何完全删除“图例”,但这会导致我的图表设计中的条形图过高。这是我的示例代码:

     <!DOCTYPE html>
<html>
<head>
<title>ChartJS - BarGraph</title>
<style type="text/css">
#chart-container {
width: 300px;
height: 150px;
}
</style>
<!-- javascript -->
<script type="text/javascript" src="jquery-1.11.min.js"></script>
<script type="text/javascript" src="Chart.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){
$.ajax({
//url: "test.html",
//method: "GET",

success: function(data) {
// test data
var data = [
{
"Serverid":"1",
"score":"37"
},
{
"Serverid":"2",
"score":"60"
},
{
"Serverid":"3",
"score":"35"
},
{
"Serverid":"4",
"score":"41"
},
{
"Serverid":"5",
"score":"50"
},
{
"Serverid":"6",
"score":"70"
},
{
"Serverid":"7",
"score":"70"
},
{
"Serverid":"8",
"score":"70"
},
// ... it can be more than that
];

var Server = [];
var score = [];

for(var i in data) {
Server.push("Server " + data[i].Serverid);
score.push(data[i].score);
}
var chartdata = {

labels: Server,
datasets : [

{
label: 'Score List',

backgroundColor: [

// even color
'rgba(255, 99, 132, 0.2)',
// odd color
'rgba(75, 192, 192, 0.2)'

],

borderColor: [
// even color
'rgba(255,99,132,1)',
// odd color
'rgba(153, 102, 255, 1)'
],

borderWidth: 1,
hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
hoverBorderColor: 'rgba(200, 200, 200, 1)',
data: score
}
]
};

var ctx = $("#mycanvas");

var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var ttip_value = data.datasets[0].data[tooltipItem.index];
if(ttip_value == 31) {
return "DOWN";
}else {
return "UP";
}

}
}
}
}
});
}, // end success
error: function(data) {
console.log(data);
alert(data);
}
}); // end ajax

});

</script>
</head>
<body>

<br> Bar Chart <br>

<div id="chart-container">

<canvas id="mycanvas" width="200" height="100"></canvas>
</div>



</body>
</html>

谢谢!

最佳答案

删除图例彩色框的最简单方法是使用 legend.labels.boxSize 属性并将其设置为 0(这在 Chart.js API here 中有记录)。这是codepen示例。

legend: {
labels: {
boxWidth: 0,
}
}

请记住,用于配置嵌入图例的选项并不多(因为它实际上是直接在 Canvas 对象中渲染的)。如果您后来决定要以更重要的方式更改图例的外观和感觉,那么最简单的方法是使用普通的 HTMl/CSS 创建您自己的图例并相应地设置其样式。您可以使用 .generateLegend() 原型(prototype)方法来实现此目的。

这是一个example使用自定义外部图例的图表。

关于javascript - 如何删除 Chart.js 中图例文本旁边的矩形框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42768494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com