【发布时间】:2018-01-23 08:28:32
【问题描述】:
如果理解问题有任何困难,请指教。这样,我就可以编辑问题并提供所需的信息。
当我将鼠标悬停在单个图表上时,我想在多个图表上显示线条和工具提示。
在下面的图表中,我能够在单个图表上获得线条,我希望线条应该一直持续到 X 轴,并且还希望在多个图表上突出显示值的工具提示。
下面是我工作至今的jsfiddle。
$(window).load(function () {
var textareas$ = $('#chartarea g');
textareas$.hide();
$('input[name="Air"]').change(function () {
var elem$ = $(this);
var correspelem$ = textareas$.eq(elem$.val() - 1);
if (elem$.val() == 1) {
select('Retail', "#Retail");
} else if (elem$.val() == 2) {
select("Gas", "#Gas");
} else if (elem$.val() == 3) {
select("Dining", "#Dining");
} else {};
if (elem$.is(':checked')) correspelem$.show();
else correspelem$.hide();
var lastSelectedChartIndex;
var chartAxis = document.querySelectorAll('#chartarea .axis.x');
var selectedCharts = document.querySelectorAll('#options input').forEach((elem, index) => {
if (elem.checked) {
lastSelectedChartIndex = index;
}
});
//console.log(lastSelectedChartIndex)
chartAxis
.forEach((elem, index) => (index !== chartAxis.length - 1) && !(index == lastSelectedChartIndex) ? elem.style.display = 'none' : elem.style.display = 'block')
});
});
【问题讨论】:
-
请提供有关如何解决问题的提示。这样我就可以弄清楚..
-
请使用复选框显示图表
-
您需要在所有 svg 上传播您的事件才能完成此操作。您可以在图表上创建一个
setLinePosition方法,该方法会在回调中为您的其他图表提供值,然后根据收到的值为每个图表设置线位置 -
如果不介意,能否提供setLinePosition的代码骨架,
标签: javascript jquery d3.js charts