2016-09-06 2 views
1

nicht zeigt Ich möchte die Beschreibung in MPAndroidChart entfernen. Ich weiß nicht, wo die Beschreibung kommt, hier ist ein Bild
enter image description hereWenn ich mpAndroidChart verwende, fand ich, dass das untere Etikett

Und hier ist das, was ich will, ich denke, es sollte zwei Etiketten, Ich stelle es durch:

LineDataSet lineDataSet = new LineDataSet(y1,"dataSet1"); 

enter image description here

hier ist mein Code

public class MainActivity extends AppCompatActivity { 

    LineChart lineChart; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     lineChart=(LineChart)findViewById(R.id.main_chart); 
     ArrayList<String> xAXES = new ArrayList<>(); 
     ArrayList<Entry> y1=new ArrayList<>(); 
     ArrayList<Entry> y2 =new ArrayList<>(); 
     double x=0; 
     int numdatapoint=10; 
     for (int i = 0; i <numdatapoint ; i++) { 
      float sinfunction = i; 
      float confunction =i+2; 
      x=x+0.1; 
      y1.add(new Entry(sinfunction,i-1)); 
      y2.add(new Entry(confunction,i+2)); 
      xAXES.add(i,String.valueOf(i)); 
     } 
     String [] xaxes =new String [xAXES.size()]; 
     for (int i = 0; i <xAXES.size() ; i++) { 
      xaxes[i]=xAXES.get(i).toString(); 
     } 
     ArrayList<ILineDataSet> lineDataSets = new ArrayList<>(); 
     LineDataSet lineDataSet = new LineDataSet(y1,"dataSet1"); 
     lineDataSet.setColor(Color.BLUE); 
     LineDataSet lineDataSetY = new LineDataSet(y2,"dataset2"); 
     lineDataSet.setColor(Color.RED); 
     lineDataSets.add(lineDataSet); 
     lineDataSets.add(lineDataSetY); 
     LineData line =new LineData(); 
     lineChart.setData(new LineData(lineDataSets)); 
     lineChart.setVisibleXRangeMaximum(10f); 
     } 
    } 

Antwort

0

Es ist wie y sieht Vielleicht haben Sie die Position der X-Achse nach oben eingestellt?

Sie können dies ändern, indem Sie mit der setPosition(XAxisPosition pos); Funktion (Legt die Position, wo die XAxis erscheinen soll wählen zwischen oben, unten, BOTH_SIDED, TOP_INSIDE oder BOTTOM_INSIDE..)

Referenz: https://github.com/PhilJay/MPAndroidChart/wiki/XAxis

Edit: Sieht so aus als würdest du nach der Legende suchen? https://github.com/PhilJay/MPAndroidChart/wiki/Legend

+0

es ist nicht, ich möchte nur zwei Label haben, sollte die Unterseite zwei Label haben, durch LineDataSet gesetzt lineDataSet = new LineDataSet (y1, "Sohn") ;, aber es verschwindet –

+0

ich habe lineChart.getLegend() gesetzt .setEnabled (true); aber es ändert sich immer noch nicht, und die Legende erscheint nicht –

0

Hier ist Ihr oben Code mit Korrektur und läuft perfekt können Sie in Ihrem Projekt finden und ausführen.

public class MainActivity erweitert AppCompatActivity {

LineChart lineChart; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mainchart); 
    lineChart=(LineChart)findViewById(R.id.line_chart); 
    ArrayList<String> xAXES = new ArrayList<>(); 
    ArrayList<Entry> y1=new ArrayList<>(); 
    ArrayList<Entry> y2 =new ArrayList<>(); 
    double x=0; 
    int numdatapoint=2; 

    for (int i = 0; i <numdatapoint ; i++) { 
     float sinfunction = i; 
     float confunction =i+2; 
     x=x+0.1; 
     y1.add(new Entry(sinfunction,i-1)); 
     y2.add(new Entry(confunction,i+2)); 
     xAXES.add(i,String.valueOf(i)); 
    } 
    String [] xaxes =new String [xAXES.size()]; 
    for (int i = 0; i <xAXES.size() ; i++) { 
     xaxes[i]=xAXES.get(i).toString(); 
    } 
    List<ILineDataSet> lineDataSets = new ArrayList<>(); 
    LineDataSet lineDataSet = new LineDataSet(y1,"dataSet1"); 
    lineDataSet.setColor(Color.BLUE); 
    LineDataSet lineDataSetY = new LineDataSet(y2,"dataset2"); 
    lineDataSetY.setColor(Color.RED); 
    lineDataSets.add(lineDataSet); 
    lineDataSets.add(lineDataSetY); 
    LineData data = new LineData(xAXES,lineDataSets); 
    data.setValueTextColor(Color.WHITE); 
    data.setValueTextSize(9f); 

    // set data 
    lineChart.setData(data); 
    lineChart.setVisibleXRangeMaximum(10f);}} 

und xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<com.github.mikephil.charting.charts.LineChart 
    android:layout_width="match_parent" 
    android:id="@+id/line_chart" 
    android:layout_height="match_parent"></com.github.mikephil.charting.charts.LineChart> 

, wenn Sie meinen Code nützlich wie für Sie Abstimmung für die gleiche plz auf.

+0

gibt es keine Methode für neue LineData (xAXES, lineDataSets); –

+0

teilen Sie die Abhängigkeit, die Sie wahrscheinlich in Ihrem Projekt verwendet haben. Der Konstruktor, den ich in der Klasse LineData –

+0

erwähnt habe, wenn ich lineChart.getLegend() gesetzt habe. SetPosition (Legend.LegendPosition.RIGHT_OF_CHART); es ist ok, aber es kann nicht sein, so komisch, aber danke –

Verwandte Themen