gpt4 book ai didi

javascript - ChartJS X 轴标签中的新行 '\n' 或使用 ChartJS V2 在图表或工具提示周围显示更多信息

转载 作者:可可西里 更新时间:2023-11-01 01:45:20 28 4
gpt4 key购买 nike

我正在使用 chart.js (V2) 尝试构建一个条形图,用户无需将鼠标悬停在任何地方或点击任何地方即可获得更多信息。我提供了两个示例,说明我希望如何编辑我的图表。

Two edited versions of what I hope to achieve

可以看出,我希望在标签之外放置(某处)一些额外的信息。我曾希望通过在标签中添加 '\n' 我可能已经能够得到我正在寻找的类似于选项 A 的内容。

下面提供了一些编辑过的代码:

var barChartData = {

labels: playerNames,
datasets: [{
label: 'Actual Score/Hour',
backgroundColor: "rgba(0, 128, 0,0.5)",
data: playerScores
}, {
label: 'Expected Score/Hour',
backgroundColor: "rgba(255,0,0,0.5)",
data: playerExpected
}]
};
function open_win(linktosite) {
window.open(linktosite)
}
canvas.onclick = function(evt){
var activePoints = myBar.getElementsAtEvent(evt);
console.log(activePoints);
linktosite = 'https://www.mytestsite.com/' + activePoints[1]['_model']['label'];
open_win(linktosite);
};
window.onload = function() {
var ctx = document.getElementById("canvas").getContext("2d");
window.myBar = new Chart(ctx, {
type: 'bar',
data: barChartData,
options: {
title:{
display:true,
text:"Player Expected and Actual Score per Hour"
},
tooltips: {
mode: 'label'
},
responsive: true,
scales: {
xAxes: [{
stacked: false,
}],
yAxes: [{
stacked: false
}]
},
animation: {
onComplete: function () {
var ctx = this.chart.ctx;
ctx.textAlign = "center";
Chart.helpers.each(this.data.datasets.forEach(function (dataset) {

Chart.helpers.each(dataset.metaData.forEach(function (bar, index) {
// console.log("printing bar" + bar);
ctx.fillText(dataset.data[index], bar._model.x, bar._model.y - 10);
}),this)
}),this);
}
}
}
});
// Chart.helpers.each(myBar.getDatasetMeta(0).data, function(rectangle, index) {
// rectangle.draw = function() {
// myBar.chart.ctx.setLineDash([5, 5]);
// Chart.elements.Rectangle.prototype.draw.apply(this, arguments);
// }
// }, null);
};

在这一点上,我对在栏中的任何地方都有额外数据感到满意。任何帮助,将不胜感激。谢谢~

最佳答案

Chart.js v2.1.5 允许使用嵌套数组的多行标签(v2.5.0 修复了雷达图):

...
data: {
labels: [["Jake", "Active: 2 hrs", "Score: 1", "Expected: 127", "Attempts: 4"],
["Matt", "Active: 2 hrs", "Score: 4", "Expected: 36", "Attempts: 4"]],
...

但是,这确实意味着您必须预先计算标签值。

关于javascript - ChartJS X 轴标签中的新行 '\n' 或使用 ChartJS V2 在图表或工具提示周围显示更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37090625/

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