2011-11-17 135 views
-2

我使用Google可視化運動圖來顯示不同的報告。一個報告在每個文件中顯示可執行的代碼行與警告。以下是圖表的樣子。 x軸表示eloc,y軸表示每個文件中的警告。加載圖表時,您可以看到除了一個文件外,所有文件都用藍色球表示,並且顯示爲紅色的球。那是什麼意思?是一個錯誤?我試圖找到解釋,但沒有運氣。Google可視化 - 運動圖

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

我想這可能是數據相關的,也許試圖告訴你一些與其他結果的區別。也許嘗試用一半的數據生成圖表,看看是否仍然顯示紅色。然後嘗試與另一半來縮小它。 –

回答

1

不應該

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

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

是的,這是一個錯字。固定它,但仍然是同樣的問題。謝謝 – sap