Google可视化 - 动态图表

时间:2011-11-17 15:03:17

标签: google-visualization

我正在使用Google Visualization动态图表来显示不同的报告。一个报告显示每个文件中的可执行代码行与警告。以下是图表的样子。 x轴表示eloc,y轴表示每个文件中的警告。加载图表时,您可以看到除了一个文件外,所有文件都用蓝色球表示,它会显示一个红色的球。那是什么意思?那是一个bug吗?我试过在线寻找解释,但没有运气。

enter image description here

以下是我的代码:

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;
}

}

1 个答案:

答案 0 :(得分:1)

不应该

data.setValue(i, 4, Integer.parseInt(Option13));

data.setValue(i, 4, Integer.parseInt(Option3));