jqplot покажет подсветку только на одном графике

У меня есть график jqplot с двумя линиями данных. Только у одного должен быть включен маркер. Я попробовал это:

series:[
    {
        highlighter: {
            formatString: "",
            show: false
        }
    },
    {
        highlighter: {
            formatString: "Day %s: %d",
            show: true
        }
    }
]

Но, к сожалению, это не работает: маркер выделяет маленькую пустую точку в первой строке, тогда как он ничего не должен показывать.

Как показать маркер на одном графике, а не на другом?

2 ответа

Решение

Это очень интересный вопрос (+1). Единственное решение, которое пришло мне в голову, так как игра с параметрами сюжета не помогла, это очистить холст и скрыть подсказку маркера каждый раз, когда он должен показываться. Это сделано в приведенном ниже коде и представлено в рабочем примере, доступном здесь.

$('#chart').bind('jqplotMouseMove', function(event, xy, axesData, neighbor, plot) {
    if (neighbor && neighbor.seriesIndex == 0) {
        var drawingCanvas = $(".jqplot-highlight-canvas")[0];
        var context = drawingCanvas.getContext('2d');
        context.clearRect(0, 0, drawingCanvas.width, drawingCanvas.height);
        $('.jqplot-highlighter-tooltip').hide();
    }
});

Задавать showHighlight: false для серии, для которой вам не нужен маркер

Другие вопросы по тегам