我正在使用ChartJS2.4,我想在数据集中预先定义很多设置。但使用空数据数组和未定义的标签。现在我想阻止ChartJS呈现图例,该图例随后显示为“null”或“undefined”。稍后,我将设置一个适当的标签,并开始将数据推送到数据集,最后在图表上调用update(),这很好。
下面是对该代码的基本修改:
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
fill: false,
lineTension: 0.1,
backgroundColor: "rgba(75,192,192,0.4)",
borderColor: "rgba(75,192,192,1)",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75,192,192,1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(75,192,192,1)",
pointHoverBorderColor: "rgba(220,220,220,1)",
pointHoverBorderWidth: 2,
pointRadius: 5,
pointHitRadius: 10,
data: [],
}
]
};
var myLineChart = new Chart("myChart", {
type: "line",
data: data
});
setTimeout(function(){
data.datasets[0].label = "The Label"
data.datasets[0].data.push(10, 20)
myLineChart.update()
}, 2000)
我试图覆盖GenerateLabels,但我没有运气。而设定dateaset.hidden只有在真实但并非真正“隐藏”的情况下才会突破传奇。
编辑1:另一方面,将options.legend.display设置为false将隐藏所有图例,这也不是我需要的。
如果需要,可以删除数据集,这样图例就不会显示:
var autoDisplayLegendPlugin = {
beforeUpdate: function(chartInstance) {
if (chartInstance.canvas.id == 'chart6') {
// The first (and, assuming, only) dataset.
var dataset = chartInstance.data.datasets[2];
if (dataset.data.length != 0){ // delete only if there is no data in dataset
console.log(chartInstance);
chartInstance.options.legend.display = true;
}
else{
chartInstance.options.legend.display = true;
chartInstance.data.datasets.pop(); // if is the last datasets you don't want the legend to appear
}
}
}};
让我们创建一个插件,在每次更新开始时,根据第一个数据集的标签是否被定义来决定是否显示图例。autoDisplayLegend
图表选项启用插件,如果设置为true
。
一把工作小提琴在这里。代码也可在下面获得。
var autoDisplayLegendPlugin = {
// Called at start of update.
beforeUpdate: function(chartInstance) {
if (chartInstance.options.autoDisplayLegend) {
// The first (and, assuming, only) dataset.
var dataset = chartInstance.data.datasets[0];
if (dataset.label)
chartInstance.options.legend.display = true;
else
chartInstance.options.legend.display = false;
}
}
};
Chart.pluginService.register(autoDisplayLegendPlugin);
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
fill: false,
lineTension: 0.1,
backgroundColor: "rgba(75,192,192,0.4)",
borderColor: "rgba(75,192,192,1)",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75,192,192,1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(75,192,192,1)",
pointHoverBorderColor: "rgba(220,220,220,1)",
pointHoverBorderWidth: 2,
pointRadius: 5,
pointHitRadius: 10,
data: [],
}]
};
var myLineChart = new Chart("myChart", {
type: "line",
data: data,
options: {
// Option to auto display the legend.
autoDisplayLegend: true
}
});
setTimeout(function() {
data.datasets[0].label = "The Label"
data.datasets[0].data.push(10, 20)
myLineChart.update()
}, 2000)
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.bundle.js"></script>
<canvas id="myChart" width="400" height="250"></canvas>
尝试让字符串标签呈现在我的条形图的 x 轴上。只是没有出现。下面是代码片段。一切都很好,除了标签没有显示。我已经尝试设置以下内容,但仍然一无所获。 ...
问题内容: 我正在开始一个JSF项目(这是我第一次使用JSF),并且在呈现标签方面遇到问题。我正在Eclipse中进行开发,并将TomCat用作服务器。 我的login.jsp文件:https : //gist.github.com/code-curve/e7e557262d407dddd1f3 我的web.xml文件:https : //gist.github.com/code-curve/52
我正在尝试使用Javascript on-click函数显示和隐藏内容。我有一个相当长的表,所以我使用了class display:“none”作为它的一部分。然后我添加了一个按钮,点击该按钮将显示表的其余部分。比如隐藏/显示切换。它不会呈现。这是什么问题?控制台没有给我任何错误。谢谢, null null
我正在尝试做简单的spring MVC库 你知道为什么我在View上有问题吗?当我在控制器中使用homepage方法时,它应该显示给我index.html,但我一直只得到白标签错误页面,而且我不知道为什么:/ 我的结构:[https://i.imgur.com/5trggrb.png] 我的控制器: null 我的POM: index.html application.properties
问题内容: // json就是这样 // HTML //输出 但是如何渲染该标签并使用angular显示它呢? //输出应该像这样 问题答案: 与其传递字符串以直接查看,不如使用sce.trustAsHtml预处理html。 然后在视图模板中,使用ng-bind-html处理html绑定。 正如您提到的那样,您有一个对象数组,将它们投射到控制器中并不是那么容易,您可以在视图中绑定到您的then调用
但这并不好。我希望标签每秒钟都可见。我想看看有多少标签。然后,如果超过X,只选择一些,但可能有一些更容易。 以下是标签中的代码: 有什么想法吗?