Я использую библиотеку флота, чтобы отобразить график, в котором изображения PNG отображаются как точки. Он работает, но каждое изображение PNG, кажется, отображается три раза. Это видно при обновлении (перекрытие не идеально), и я также зарегистрировал функцию загрузки изображения, и Firebug сообщает мне, что он вызывается три раза для каждого графика. Вот функция, которая делает изображения (счетчик является переменной каротаж):Почему символы отображаются три раза на графике?
function generateImageFunction (image) {
return function getImage(ctx, x, y, radius, shadow) {
var img = new Image();
img.onload = function() {
console.log(counter++);
ctx.drawImage(img, x, y, img.width, img.height);
}
img.src = image;
}
}
данные 13 серии, это только первые два, как пример:
var data = [
{
data: [[1, 1]],
points: { symbol: generateImageFunction("face-angel.png") }
}
{
data: [[2, 2]],
points: { symbol: generateImageFunction("face-angry.png") }
}
];
Мои варианты являются следующие:
var options = {
series: {
points: { show: true },
},
xaxis: { min: 0, max: 15},
yaxis: { show: false, min: 0, max: 15 },
selection: { mode: "x" }
};
А потом я $.plot($("#placeholder"), data, options);
С 13 данных как таковых ries, переменная счетчика переходит к 39, когда я сначала загружаю страницу. Если я увеличиваю масштаб в области только с одной точкой данных, счетчик увеличивается на 3. Может ли кто-нибудь сказать мне, почему это происходит, или что я могу сделать дальше?
Спасибо, установка shadowSize на ноль отлично работала. –