2016-04-09 33 views
0

我有我的應用程序的屏幕顯示如下圖:如何建立與Graphview一個傳說中的Android工作室

enter image description here

有沒有辦法改變我的傳說,以便它可以說什麼每種顏色代表?目前我可以看到藍色方塊顯示,但不代表任何數字。以下是我在創建圖形時使用的代碼:

GraphView graph = (GraphView) findViewById(R.id.graph); 

     BarGraphSeries<DataPoint> series = new BarGraphSeries<DataPoint>(new DataPoint[]{ 
       new DataPoint(1, personal), 
       new DataPoint(2, fun), 
       new DataPoint(3, work), 
       new DataPoint(4, food), 
       new DataPoint(5, commute), 
       new DataPoint(6,bills) 
     }); 


     graph.setTitle("Expenses"); 
     graph.addSeries(series); 
     graph.getLegendRenderer().setVisible(true); 
     graph.getLegendRenderer().setAlign(LegendRenderer.LegendAlign.TOP); 
     series.setValueDependentColor(new ValueDependentColor<DataPoint>() { 
      @Override 
      public int get(DataPoint data) { 
       return Color.rgb((int) data.getX() * 255/4, (int) Math.abs(data.getY() * 255/6), 100); 
      } 
     }); 
     series.setSpacing(50); 

     series.setDrawValuesOnTop(true); 
     series.setValuesOnTopColor(Color.RED); 

     backToMainMenu(); 
    } 

回答

2

我不認爲你需要定製的傳說。 LegendRenderer類使用每個數據系列的標題來顯示圖表上的條形圖。

series.setTitle("This will display in the legend."); 

但是,在本例中只有一系列數據。如果您必須在每個小節的圖例中都有標籤,我建議您爲圖表添加具有不同標題的多個系列。每個系列都會有自己的標題和顏色。

// Each series represents one bar. 
BarGraphSeries<DataPoint> series1 = new BarGraphSeries<DataPoint>(new DataPoint[]{ new DataPoint(1, personal)}); 
BarGraphSeries<DataPoint> series2 = new BarGraphSeries<DataPoint>(new DataPoint[]{ new DataPoint(2, fun)}); 
BarGraphSeries<DataPoint> series3 = new BarGraphSeries<DataPoint>(new DataPoint[]{ new DataPoint(3, work)}); 
BarGraphSeries<DataPoint> series4 = new BarGraphSeries<DataPoint>(new DataPoint[]{ new DataPoint(4, food)}); 
BarGraphSeries<DataPoint> series5 = new BarGraphSeries<DataPoint>(new DataPoint[]{ new DataPoint(5, commute)}); 
BarGraphSeries<DataPoint> series6 = new BarGraphSeries<DataPoint>(new DataPoint[]{ new DataPoint(6, bills)}); 

// Add titles to be displayed in the legend. 
series1.setTitle("personal"); 
series2.setTitle("fun"); 
series3.setTitle("work"); 
series4.setTitle("food"); 
series5.setTitle("commute"); 
series6.setTitle("bills"); 

// Add color to your bars. 
series1.setColor(Color.rbg(1,2,3)); 
series2.setColor(Color.rbg(4,5,6)); 
series3.setColor(Color.rbg(7,8,9)); 
series4.setColor(Color.rbg(0,1,2)); 
series5.setColor(Color.rbg(3,4,5)); 
series6.setColor(Color.rbg(6,7,8)); 

// Add each series to your graph. 
graph.addSeries(series1); 
graph.addSeries(series2); 
graph.addSeries(series3); 
graph.addSeries(series4); 
graph.addSeries(series5); 
graph.addSeries(series6); 

// Display the legend. 
graph.getLegendRenderer().setVisible(true); 
相關問題