使用 dojox.charting 显示数据存储中的自定义标签
-
21-09-2019 - |
题
我正在使用 dojox.charting.widget.Chart2D
我正在尝试从 dojo.data.ItemFileReadStore
. 。我可以检索数据,并且一切正常并显示,但我似乎无法找到在项目上显示自定义标签的方法。我的 HTML 片段是:
<div dojoType="dojo.data.ItemFileReadStore" jsId="chartDataStore"
url="json/archiveinfo.json.php"></div>
<div dojoType="dojox.charting.widget.Chart2D" id="chartTest"
theme="dojox.charting.themes.PlotKit.blue" style="width: 300px; height: 300px;">
<div class="plot" name="default" type="Pie" fontColor="black" htmlLabels="false"
radius="100"></div>
<div class="series" name="Series A" store="chartDataStore" field="y"
label="text" valueFn="Number(x)"></div>
<div class="action" type="Tooltip"></div>
<div class="action" type="MoveSlice"></div>
</div>
我的 ItemFileReadStore 的 JSON 是:
{"identifier":"id","labelAttribute":"text","items":
[
{"id":1,"y":55,"text":"Free"},
{"id":2,"y":45,"text":"Used"}
]
}
我尝试过设置系列中的标签属性并设置了 labelAttribute
在 JSON 中。我也尝试过 label
在 JSON 中,它也不起作用。当我以 JSON 形式提供数据时 array
或提供 data
直接在系列中,我让标签发挥作用。我真的很想通过数据存储提供数据来使其更加灵活。
解决方案
做到这一点的方法是修改您的JSON的HTML对应的属性有点和更新。
JSON:
{
"items": [
{"id":1, "slice": {"y":55,"text":"Free"}},
{"id":2, "slice": {"y":45,"text":"Used"}}
]
}
唯一有意义的变化是在一个子对象(slice
)为简单起见,分开饼特有的数据。
HTML(仅存储相关的线路应被修改):
<div class="series" name="Series A"
store="chartDataStore" field="slice"></div>
让我知道如何去。
其他提示
尽管我使用编程方式在 div 上创建图表,但我也不得不面对自定义标签的类似问题。希望这对某人有帮助......
var mytooltip = new dojox.charting.action2d.Tooltip(mychart,"default",
{text: function(e) {
var tooltiptext = <construct ur custom label here>
return tooltiptext;
}
});
mychart
是我用来创建图表小部件的变量......
不隶属于 StackOverflow