1

我的应用程序中有一个简单的条形图,我需要在我的条形顶部放置一些“.”、一些图标或其他任何东西。

这是代码:

DataTable data = DataTable.create();
data.addColumn(ColumnType.STRING, "Year");
data.addColumn(ColumnType.NUMBER, "Sales");
data.addRows(2);
data.setValue(0, 0, "Work");
data.setValue(0, 1, 14);
data.setValue(1, 0, "Sleep");
data.setValue(1, 1, 10);

BarChart barChart = new BarChart(data, options);
vpnl.setHeight("500px");
vpnl.add(barChart);

这是输出,你可以在这里看到的黑色圆圈是我想在这个位置放置的,或者它可以是任何数字。

任何想法 ?

代码生成的屏幕截图

4

1 回答 1

0

目前不支持此功能。实现它的唯一方法是编写一些花哨的 javascript 来创建它。

我不是使用 javascript 处理 SVG 的专家,也不会假装是。我会让你知道我在 Firebug 中发现了什么,并与大家分享。

使用此图表,我检查了创建的 SVG 元素。它有 5 个不同的<g>(我假设是组)元素。

  • g[1]包含有关标题的信息。
  • g[2]包含图例
  • g[3]contains the chart information (sub-groups with the chart area, gridlines, series, axis label values, etc.) -- when a point is selected, this shows the circle/double-circle for that point too
  • g[4]包含轴标题
  • g[5]包含两个单独组中的工具提示,但仅在鼠标悬停时

这是当您将鼠标悬停在某个点时触发的代码中的函数:

Y.Ov=function(a,b,c){a=new kv(a);var d=this.Mf.pk(Wj);b=b[zc](sd);d[w](this.Mf[sb](b[0]));for(var e=1;e<b[L];++e)d[w](this.Mf.pk(ti)),d[w](this.Mf[sb](b[e]));Qt(d,c);a.t()[w](d);a.Zz(100);a.Yz(100);this.on[y](a);return a};Y.appendChild=function(a,b){if(b){var c;if(b[Bc]==Sv){if(!b.Th())return;c=b.t()}else c=b;a.t()[w](c)}};Y.replaceChild=function(a,b,c){a.t().replaceChild(b,c);Cu(c)};Y.Fg=function(a){a.Th()&&this.xs(a.t())};Y.xs=function(a){this.Mf.Fg(a)};Y.ds=function(a){this.Mf.removeNode(a);Cu(a)};

这可能对你没有帮助。我找不到任何简单的方法来为这个(哦,非常需要的)功能创建一个解决方法。抱歉还没有解决方案!

于 2013-03-07T04:13:56.703 回答