我正在使用Google Visualization动态图表来显示不同的报告。一个报告显示每个文件中的可执行代码行与警告。以下是图表的样子。 x轴表示eloc,y轴表示每个文件中的警告。加载图表时,您可以看到除了一个文件外,所有文件都用蓝色球表示,它会显示一个红色的球。那是什么意思?那是一个bug吗?我试过在线寻找解释,但没有运气。
以下是我的代码:
public class DashboardWidget
{
private HorizontalPanel containerPanel=null;
private DataTable data=null;
public DashboardWidget()
{
containerPanel = new HorizontalPanel();
}
public HorizontalPanel getContainerPanel()
{
SQLRunnerAsync service = (SQLRunnerAsync) GWT.create(SQLRunner.class);
AsyncCallback<ArrayList<String[]>> callback = new AsyncCallback<ArrayList<String[]>>()
{
@Override
public void onFailure(Throwable caught)
{
}
@Override
public void onSuccess(final ArrayList<String[]> result)
{
Runnable onLoadCallback = new Runnable()
{
public void run()
{
data = DataTable.create();
data.addColumn(ColumnType.STRING, "Name");
data.addColumn(ColumnType.DATE, "Date");
data.addColumn(ColumnType.NUMBER, "Option1");
data.addColumn(ColumnType.NUMBER, "Option2");
data.addColumn(ColumnType.NUMBER, "Option3");
data.addRows(result.size());
Date date = new Date();
DateTimeFormat fmt = DateTimeFormat.getFormat("MM/dd/yyyy");
Date d1 = fmt.parse(fmt.format(date));
int i;
for(i=0;i<result.size();i++)
{
String[] temp = result.get(i);
String Name=temp[0];//name
String Option1 = temp[1];
String Option2=temp[2];
String Option3=temp[3];
data.setValue(i, 0, Name);//NAME
data.setValue(i, 1, d1);//date
data.setValue(i, 2, Integer.parseInt(Option1));
data.setValue(i, 3, Integer.parseInt(Option2));
data.setValue(i, 4, Integer.parseInt(Option13));
}
Options options = Options.create();
options.setWidth(1000);
options.setHeight(1000);
MotionChart chart = new MotionChart(data, options);
containerPanel.add(chart);
}
};
VisualizationUtils.loadVisualizationApi(onLoadCallback, MotionChart.PACKAGE);
}
};
service.getData("","","","", callback);
return containerPanel;
}
}
答案 0 :(得分:1)
不应该
data.setValue(i, 4, Integer.parseInt(Option13));
是
data.setValue(i, 4, Integer.parseInt(Option3));