2017-07-12 6 views
2

Ich bin in der Lage, Marks dynamisch zu plotten und verschiedene Farbe auf den LineChart.Now ich habe Problem, nicht in der Lage, die Farbe in der Region zu füllen, wo das LineChart besetzt.Ich habe verwendet setS.setDrawFilled (true); aber es füllt nur mit einer Farbe. Wie kann dieses Problem gelöst werden?Spezifische Farbe für die von LineChart belegte Region setzen

int getColorRandom() { 
     Random rand = new Random(); 
     int r = rand.nextInt(255); 
     int g = rand.nextInt(255); 
     int b = rand.nextInt(255); 
     int randomColor = Color.rgb(r, g, b); 
     return randomColor; 

    } 

    ArrayList<ILineDataSet> testDataSet1 = new ArrayList<>(); 
          for (int i = 0; i < dataFilteredByTerm.size(); i++) { 
           ArrayList<JSONObject> values = dataFilteredByTerm.get(termIDs.get(i)); 
           ArrayList<Entry> allMarks1 = new ArrayList<>(); 


           for (int k = 0; k < values.size(); k++) { 
            allMarks1.add(new Entry(k, values.get(k).optInt("Marks"))); 

           } 

           Labels.add(jsonArray.optJSONObject(i).optString("CourseName")); 
           System.out.println("Labels" + Labels); 
           // System.out.println("allMarks" + allMarks1); 
           setS = new LineDataSet(allMarks1, values.get(i).optString("examDescription")); // set different color for each set as your requirement testDataSet.add(set); } chart.setData(new LineData(testDataSet)); 
           //testDataSet1.add(labels); 


           testDataSet1.add(setS); 
           setS.setMode(LineDataSet.Mode.CUBIC_BEZIER); 
           setS.setDrawValues(false); 
           // setS.setColor(Integer.parseInt((getColor.get(i)))); 
           // int y= setS.setColors(getColor()); 
           setS.setDrawFilled(true); 
           setS.setColors(getColorRandom()); 


          } 


          // System.out.println("Date Filtered by Date" + dataFilteredByTerm); 
          YAxis leftAxis = chart.getAxisRight(); 
          leftAxis.setEnabled(false); 
          //chart.setBorderColor(Color.RED); 


          chart.setData(new LineData(testDataSet1)); 
          chart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(Labels)); 
          chart.notifyDataSetChanged(); 
          chart.invalidate(); 

erfordern Bild enter image description here

bekommen Bild

enter image description here

Ich weiß nicht, wo ich wrong.Every Zeit mache die einzige Farbe füllen die ganze Region. Wie Die Region kann mit bestimmten Zeile Farbe mit MPAndroidChart

+0

Link Ihr Bild scheint nicht funktioniert. –

+0

welche, ich werde aktualisieren – seon

+0

erfordern Bild und bekommen Bildlink –

Antwort

2

ich es mir nur ein einfaches TWIK und ihre getan gelöst gefüllt werden.

hinzugefügt Gerade diese eingebaute Methode und Ausgang erstaunlich

setS.setColors(getColorRandom()); 
           setS.setDrawFilled(true); 
           setS.setFillColor(getColorRandom()); 

Bild enter image description here

Verwandte Themen