- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个与其“图例”相比具有不同内部标签的图表。当图例太长时,Chart.js 会缩小,这会将我的图表推至非常小的尺寸。我把标签拿下来,到一定长度后把它们剪掉,这就是新标签。但是我不知道如何拥有两个单独的标签,一个是图例,一个是缩短版本,另一个是正常长度。这是我的代码:
function truncLabel(str, maxwidth){
if(str.length > maxwidth) {
str = str.substring(0,24)+"...";
}
return str;
}
for (var i = 0 ; i < labels2Length; i++){
trunc_labels2[i] = formatLabel(labels2[i],20);
}
new Chart(document.getElementById("xxx"), {
type: 'doughnut',
data: {
labels: trunc_labels2,
datasets: [
{
label: labels2,
backgroundColor: ["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#c45850","#5e5ba3","#9fe7aa","#1a5ba3","#6cba1f","#cacf4f"],
data:data2
}
]} //More code follows but isnt needed here
Labels2 正确返回完整字符串,而 trunc_labels2 正确返回 chop 的字符串。其他类型的图表有此功能(即条形图、折线图等),但 donut 似乎没有?谢谢
最佳答案
要 chop 标签/字符串 - 使用 map()
方法以及 substring()
,例如:
let labels = [
'Lorem ipsum dolor sit amet',
'Lorem ipsum dolor sit amet',
'Lorem ipsum dolor sit amet'
];
let trunc_labels = labels.map(e => e.substring(0, 12) + '...');
现在,要在工具提示上显示原始标签,请使用以下工具提示的标签回调函数:
callbacks: {
label(t, d) {
let xLabel = labels[t.index],
yLabel = d.datasets[t.datasetIndex].data[t.index];
return xLabel + ': ' + yLabel;
}
}
* 确保labels
是全局变量。
ᴡᴏʀᴋɪɴɢ ᴇxᴀᴍᴘʟᴇ
let labels = [
'Lorem ipsum dolor sit amet',
'Lorem ipsum dolor sit amet',
'Lorem ipsum dolor sit amet'
];
let trunc_labels = labels.map(e => e.substring(0, 12) + '...');
let chart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: trunc_labels,
datasets: [{
data: [1, 1, 1],
backgroundColor: [
'rgba(0, 119, 220, 0.8)',
'rgba(0, 119, 220, 0.6)',
'rgba(0, 119, 220, 0.4)'
]
}]
},
options: {
tooltips: {
callbacks: {
label(t, d) {
let xLabel = labels[t.index],
yLabel = d.datasets[t.datasetIndex].data[t.index];
return xLabel + ': ' + yLabel;
}
}
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<canvas id="ctx"></canvas>
关于javascript - Chart.js 圆环图内部标签与外部标签不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872381/
这是我的测试用例。 http://tobeythorn.com/isi/dummy2.svg http://tobeythorn.com/isi/isitest.html 如果我自己打开 svg,内部
这是我的测试用例。 http://tobeythorn.com/isi/dummy2.svg http://tobeythorn.com/isi/isitest.html 如果我自己打开 svg,内部
我正在尝试做类似的事情: SELECT SUM( CASE WHEN ( AND EXISTS(SELECT 1
我想问如何在外部 ng-repeat 内部正确使用内部 ng-repeat: 这意味着你想使用这样的东西: {{milestone.id}} {{
我希望在 wordpress 的仪表板内编辑 css 样式并且如果可能的话不必编辑 php 文件。 我知道至少可以编辑一些属性,所以我希望我可以直接在仪表板中编辑所有属性。 更具体地说如何更改自定义类
我在安装在 windows10 上的 vmware 中的 Ubuntu 上安装了伪分布式独立 hadoop 版本。 我从网上下载了一个文件,复制到ubuntu本地目录/lab/data 我在 ubun
我有一个如下所示的 WHERE 语句: WHERE ((@Value1 IS NULL AND [value1_id] IS NULL) OR [value1_id] = ISNULL(@Va
我有一个如下所示的 WHERE 语句: WHERE ((@Value1 IS NULL AND [value1_id] IS NULL) OR [value1_id] = ISNULL(@Va
在我的一些测试帮助程序代码中,我有一个名为 FakeDbSet(Of T) 的 IDbSet(Of T) 实现,它模拟了许多 EF 行为,但没有实际的数据库。我将类声明为 Friend ,因为我想强制
我正在寻找 Cassandra/CQL 的常见 SQL 习语 INSERT INTO ... SELECT ... FROM ... 的表亲。并且一直无法找到任何以编程方式或在 CQL 中执行此类操作
如何防止内部 while 循环无限运行?问题是,如果没有外部 while 循环,内部循环将毫无问题地运行。我知道它必须对外循环执行某些操作,但我无法弄清楚是什么导致了问题。 import java.u
我正在努力学习更多有关 C++ 的知识,但在国际象棋程序中遇到了一些代码,需要帮助才能理解。我有一个 union ,例如: union b_union { Bitboard b; st
这是我项目网页中的代码片段。这里我想显示用户选择的类别,然后想显示属于该类别的主题。在那里,用户可以拥有多个类别,这没有问题。我可以在第一个 while 循环中打印所有这些类别。问题是当我尝试打印主题
我想知道如何在 swing 中显示内部框架。这意味着,当需要 JFrame 时,通常我所做的是, new MyJFrame().setVisible(true); 假设之前的表单也应该显示。当显示这个
我最近发现了一些有趣的行为,这让我想知道对象如何知道存在哪些全局变量。例如,假设我有一个文件“test.py”: globalVar = 1 toDelete = 2 class Test(objec
我知道它已经在这里得到回答: google maps drag and drop objects into google maps from outside the Map ,但这并不完全是我所需要的
我目前正在学习Javascript DOM和innerHTML,发现在理解innerHTML方面存在一些问题。 这是我的代码:http://jsfiddle.net/hphchan/bfjx1w70/
我构建了一个布局如下的库: lib/ private_class_impl.cc private_class_decl.h public_class_impl.cc include/
我有一个使用 bootstrap 3 的组合 wordpress 网站。它基本上是一个图像网格。当屏幕展开时,它会从三列变为四列。移动时它是一列。 我想出了如何调整图像的顶部和底部边距,但我希望图像的
我正在试用 MSP-EXP430G2 的教程程序,使用 Code Composer Studio 使 LED 闪烁。最初,它有一个闪烁的无限循环: for(;;) // This emp
我是一名优秀的程序员,十分优秀!