我希望在堆积条形图上自定义悬停图例,这样它就不会显示在特定条形图中没有值的标签,但会显示在其他条形图中。希望下面链接中的图片有助于清理。图片中的行军标签仅包含几个标签的值,但显示所有标签。我知道我必须使用hoverCallback函数,但我不确定如何仅返回带有数据的标签的内容。以下是条形图上morris.js网页的链接:morris.js。有关如何读取行数据或可能的解决方案的任何建议都将非常有用。我在这里先向您的帮助表示感谢!
Morris Graph
答案 0 :(得分:3)
试试这个:
new Morris.Bar({
element: 'bar-example',
data: [
{ t: "a", a: 2, b: 5, c: 2 },
{ t: "b", a: 3, b: null, c: null },
{ t: "c", a: 4, b: 8, c: 12 },
{ t: "d", a: null, b: 9, c: 15 }
],
xkey: 't',
ykeys: ['a', 'b', 'c'],
labels: ['Spotify', 'Apple', 'Uber'],
stacked: true,
hoverCallback: function (index, options, content, row) {
var finalContent = $(content);
var cpt = 0;
$.each(row, function (n, v) {
if (v == null) {
$(finalContent).eq(cpt).empty();
}
cpt++;
});
return finalContent;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css" rel="stylesheet"/>
<div id="bar-example"></div>