这段代码(如下)可以在屏幕上正常显示 1..n 折线图。我想知道它的效率如何。我每次都调用 VisualizationsUtils.loadVisualizationApi(onLoadCallback, LineChart.PACKAGE)
。一定要这样吗?
public void getData(List<GraphWrapper> graphWrapperList) {
for (GraphWrapper graphWrapper : graphWrapperList) {
populateResources.populateResourcesService(graphWrapper.getSeriesWrapperList(),
new AsyncCallback<GraphWrapper>() {
public void onFailure(Throwable caught) {
displayDialogBox("*** An Error Occurred ***", caught.toString());
}
public void onSuccess(final GraphWrapper response) {
Runnable onLoadCallback = new Runnable() {
private Widget chart;
public void run() {
this.chart = new LineChart(createTable(response), createOptions(response));
graphPanel.add(this.chart);
}
};
VisualizationUtils.loadVisualizationApi(onLoadCallback, LineChart.PACKAGE);
}
});
}
}
最佳答案
通过加载 LineChart.PACKAGE
,您只能使用一种类型的图表 (LineChart
)。由于您一次只能加载一个“包”,因此您只能做出这个决定。试试这个:
VisualizationUtils.loadVisualizationApi(onLoadCallback, CoreChart.PACKAGE);
使用 CoreChart
包,您可以加载任何 CoreChart
的子项(折线图、条形图、饼图、面积图、柱形图和散点图)。您还可以加载任何数量/组合的图表。此外,您不需要每次都调用 loadVisualizationApi(...)
方法,只需在第一次创建图表时调用即可。此后的每个人都将使用该库。
关于java - 使用 GWT 可视化显示多个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8174183/