我是javascript新手
我有一个使用chart.js创建的条形图。页面加载时一切正常,但当我更改值时,会出现小故障。新数据被引入,但当我将鼠标悬停在上面时,旧数据会显示出来。
$('#fanbase-overtime-platform').on("change", function() {
$('.global-page-filter-loader').show();
var platform = $(this).val();
var selected_artist = $('#artist-select-list').val();
var requestSimilarArtist = $.ajax({
url: "{{url('label/artist/compare/overtime/follower')}}",
method: "POST",
data: {_token: $('meta[name="csrf-token"]').attr('content'), selected_artist: selected_artist, platform: platform}
});
requestSimilarArtist.done(function( resp ) {
if(!resp.error) {
if(resp.result != undefined) {
var dateArr = [];
var followerArr = [];
for (var i = 0; i < resp.result.artists.length; i++) {
followerArr[i] = [];
$.each(resp.result.followers[i], function(index, item) {
if(i == 0) {
dateArr.push(item.last_date);
}
followerArr[i].push(item.follower_value);
});
}
var ctx = $("#fanbase-overtime-line-chart");
var chartOptions = {
responsive: true,
maintainAspectRatio: false,
legend: {
position: "bottom"
},
hover: {
mode: "label"
},
scales: {
xAxes: [
{
display: true,
gridLines: {
color: "#f3f3f3",
drawTicks: false
},
scaleLabel: {
display: true,
labelString: "Month"
}
}
],
yAxes: [
{
display: true,
gridLines: {
color: "#f3f3f3",
drawTicks: false
},
scaleLabel: {
display: true,
labelString: "Value"
}
}
]
},
title: {
display: true,
text: "Line Chart - Legend"
}
};
var colors = [
{
borderColor: "#e91e63",
pointBorderColor: "#e91e63"
},
{
borderColor: "#00CCFF",
pointBorderColor: "#00CCFF"
},
{
borderColor: "#ffc107",
pointBorderColor: "#ffc107"
}
]
var arrOfChartData = []
$.each(resp.result.artists, function(index, item) {
arrOfChartData.push({
label: item.name,
data: followerArr[index],
fill: false,
borderColor: colors[index].borderColor,
pointBorderColor: colors[index].pointBorderColor,
pointBackgroundColor: "#FFF",
pointBorderWidth: 2,
pointHoverBorderWidth: 2,
pointRadius: 4
});
});
var chartData = {
labels: dateArr,
datasets: arrOfChartData
};
var config = {
type: "line",
options: chartOptions,
data: chartData
};
var lineChart = new Chart(ctx, config);
lineChart.update();
}
}
$('.global-page-filter-loader').hide();
});
});
当我更改日期范围并将鼠标悬停在新图表上时,销毁原始数据的最佳方法是什么?非常感谢。
这是我的工作将图表更改为全局窗口(更改声明)喜欢var lineChart
到window.line图表
声明前销毁图表
if (window.lineChart){
window.lineChart.destroy();
}
window.lineChart = new Chart(ctx, config);
希望有帮助
我有类似的经历。所以我使用这种方式,在绘制新图表之前破坏以前的图表
var canvasContainer = canvasItem.parent();
var canvasHtml = '<canvas id="'+canvasItem.attr('id')+'"><canvas>';
canvasItem.remove();
$(canvasContainer).append(canvasHtml);
…将图表选项设置为
var options = {
title:{},
scalses:{}
}
在你写下你想在图表中使用的选项之后
var ctx = document.getElementById(canvasItem.attr('id')).getContext('2d');
var Chart = new window.Chart(ctx, {
data:{
labels:chartdata.date,
datasets:chartdata.datasets,
},
options : options
});
它对我很管用
我有一个使用chart.js创建的条形图。页面加载时一切正常,但当我使用daterangepicker更改时间范围时,出现了一个小故障。新数据被引入,但当我将鼠标悬停在上面时,旧数据会显示出来。我是javascript新手,希望能得到一些帮助。看起来我需要合并。销毁();不知怎么的,但我不知道怎么做。下面是我的代码片段: 破坏原始数据的最佳方法是什么,以便当我更改日期范围并将鼠标悬停在新图表上时,
当我在图表上移动鼠标时,如何修复图表js错误,使其显示旧数据。 我的Js文件 我可以在图表js中显示JSON响应中的数据,但当我在图表上移动鼠标时,它的问题显示了以前的值。 我曾试图破坏这种方法,但并没有奏效。如何预防这个问题??。
我想绘制INS的收盘价如下,它的工作原理。然后我想在图形上悬停时添加光标。我跟随https://matplotlib.org/3.1.0/gallery/misc/cursor_demo_sgskip.html的演示,这就是我想要的。 但当我将这些行添加到代码中时,它显示值错误。最初我使用历元时间作为x轴,我认为这就是问题所在,所以我将历元时间转换为日期时间,但它仍然不起作用,并且什么也没有绘制。
我正在尝试使用chartJs创建一个堆叠条形图(垂直或水平)。在遵循了他们的文档并尝试了各种解决方案之后,我仍然无法获得要叠加的值。 我创造了一把小提琴https://jsfiddle.net/trig79/oxantepu/1/ 感谢任何关于我哪里出错的指导
我使用Chart.js库绘制条形图,我想显示工具提示不仅在条形图悬停,而且在x轴标签悬停该条形图。我找到了用于配置的方法,但它只允许我访问当前悬停栏的数组,这是没有用的。 那个么,我怎样才能访问鼠标事件,并从那个里获取位置,将其与条形标签的位置进行比较呢?还是有别的办法? 我当前的配置: 它只打印出悬停条数据,但我坚持要想出如何扩展它以满足我需要的行为。
在一个html页面中,我有一个选择菜单(a, b, c, d)和一个条形图(a, b, c, d)。我想做的是在选择菜单中选择的条形图中突出显示相应的条形图。