我需要在 Dojo 呈现的 svg 中插入一个标题(不是工具提示,顶部的文本)。我怎样才能做到这一点?
这是我的 Dgauge:http: //jsfiddle.net/MacroX/pZU93/1/
PD:线
gauge.title = 'Test Report'
不显示标题
我需要在 Dojo 呈现的 svg 中插入一个标题(不是工具提示,顶部的文本)。我怎样才能做到这一点?
这是我的 Dgauge:http: //jsfiddle.net/MacroX/pZU93/1/
PD:线
gauge.title = 'Test Report'
不显示标题
编辑:问题是关于仪表顶部的标签,而不是title
我最初认为的属性。
您可以TextIndicator
像对针下方的值标签一样使用 a ,但您可以设置一个labelFunc
属性,该属性定义一个调用来设置标签并显示从它返回的任何字符串的函数。
var labelText = new TextIndicator();
labelText.set('x', 73.3);
labelText.set('y', 55);
labelText.set('labelFunc', function() {return 'Test Report';});
gauge.addElement('labelText', labelText);
原始答案在下面以防其他人需要
title
创建仪表时传入:
var gauge = new CircularLinearGauge({
title: 'Test Report'
}, dojo.byId("gauge"));
您还可以set
在创建仪表后使用它来设置它:
gauge.set('title', 'Test Report'); //does work :)
这样做的原因是仪表小部件需要将您提供的文本设置为title
小部件模板内的特定元素上的 。gauge.title
只是设置title
仪表小部件的属性,小部件不知道何时或以什么值设置该属性,因此无法使其显示为仪表上的标题属性。
最后我找到了解决这个问题的方法,当你需要个性化你的 dgauge 时这很有用。这里的例子:http: //jsfiddle.net/MacroX/THJqV/
我所做的基本上是创建一个仪表,用背景白色填充它,然后在里面添加元素
var baseWidth = 400;
gauge.addElement("background", function (g) {
var auxHeight = baseWidth * objGauge.offsetHeight / objGauge.offsetWidth;
g.createRect({
width: 400, height: auxHeight
//width: 400, height: 300
}).setFill("#FFF");
});
我不知道是否是最好的方法,但是有效,我在其他网站上没有找到类似的东西
我认为很棒,这仅在一个 SVG 中支持多个图表 dgauge
我希望这对其他人有用