Я использую jQuery Flot Chart и пытаюсь настроить подсказки по своему вкусу.
Диаграмма, которую я создаю, является диаграммой с накоплением и имеет две накладывающиеся диаграммы с 12 точками или маркерами на каждом линейном графике.
Каждая точка указывает месяц назад на год для каждого графика.
Вероятно, проще описать на картинке. Как отмечается в легенде, светло-голубой - это предыдущие 12 месяцев, а желтым - 12 месяцев до этого.
В любом случае, я запускаю свою собственную пользовательскую переменную yearrange
в экземпляре графика, например,
$.plot($(".flot-line"), [{
label: "Previous Year",
yearrange: "Jul-2017 - Jun-2018",
data: previousyear,
color: "rgb(237,194,64)"
}, {
label: "Current Year",
yearrange: "Jul-2018 - Jun-2019",
data: currentyear,
color: "rgb(175,216,248)"
}]
А затем с помощью этой функции всплывающей подсказки наложить подсказку на каждую точку
$.fn.UseTooltip = function () {
$(this).bind("plothover", function (event, pos, item) {
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0];
var y = item.datapoint[1];
var currmonth = months[x- 1];
var yearrange = item.series.yearrange;
showTooltip(item.pageX, item.pageY,
"<strong> " + y + "</strong> (" + item.series.label + ")");
}
}
else {
$("#tooltip").remove();
previousPoint = null;
}
});
};
Итак--
У меня есть две переменные, которыми я управляю в этой функции всплывающей подсказки, чтобы получить желаемый результат.
var currmonth = months[x- 1];
Выводит метку оси X, над которой я нахожу (например, Nov
)
var yearrange = item.series.yearrange;
Что выводит из моей вставки пользовательской переменной в flot (например, Jul-2017 - Jun-2018
)
Аналогично, например, в текущем году, var currmonth = Jul
и var yearrange = Jul-2018 - Jun-2019
У меня вопрос, как я могу создать переменную, которая выводит единственную возможную комбинацию Месяц и Год, учитывая переменные, с которыми я работаю.
Скажите, что мои две переменные Nov
и Jul-2017 - Jun-2018
. Вывод, который я хочу получить, - единственный ноябрь, который возможен в пределах этих месячных диапазонов - November 2017
.
Аналогично, если у меня есть что-то для первого года в текущем месяце, переменная Jul
и переменная Jul-2018 - Jun-2019
- единственный июль, который будет соответствовать этому диапазону, будет иметь значение July 2018
.