2016-09-13 4 views
0

Hallo zusammen, ich probiere gerade ein einfaches XY Plot mit AndroidPlot aus. Ich habe Probleme herauszufinden, wie man die Label-Farben für die Domain und den Bereich ändert. Beispiele online zu verwenden:Wie ändere ich die Textfarbe für AndroidPlot Domain- und Bereichslabels?

plot.getGraphWidget(). GetDomainLabelPaint(). SetColor (my_colour); plot.getDomainLabelWidget(). GetLabelPaint(). SetColor (meine_farbe);

Allerdings kompiliert das für mich nicht. Kann jemand vorschlagen, was ich verwenden muss? (Ich habe auch versucht mit getGraph() anstelle von getGraphWidget())

Ich versuche auch Randabstand zwischen den Graphen und Domain-Labels und auch Platz zwischen Diagramm und Bereich Etiketten, wenn jemand einen Vorschlag dafür hat .

plot = (XYPlot) findViewById(R.id.plot); 
    plot.setPlotMargins(0, 0, 0, 0); 
    plot.getBackgroundPaint().setColor(Color.WHITE); 
    plot.setBorderStyle(XYPlot.BorderStyle.NONE, null, null); 
    plot.getGraph().getBackgroundPaint().setColor(Color.WHITE); 
    plot.getGraph().getGridBackgroundPaint().setColor(Color.WHITE); 
    plot.getGraph().getDomainOriginLinePaint().setColor(Color.TRANSPARENT); 
    plot.getGraph().getRangeOriginLinePaint().setColor(Color.TRANSPARENT); 


    // create a couple arrays of y-values to plot: 
    final Number[] domainLabels = {1, 10, 20, 6, 7, 8, 9, 10, 13, 14}; 
    Number[] series1Numbers = {1, 4, 2, 8, 4, 16, 8, 32, 16, 64}; 

    // turn the above arrays into XYSeries': 
    // (Y_VALS_ONLY means use the element index as the x value) 
    XYSeries series1 = new SimpleXYSeries(
      Arrays.asList(series1Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series1"); 


    // create formatters to use for drawing a series using LineAndPointRenderer 
    // and configure them from xml: 
    LineAndPointFormatter series1Format = new LineAndPointFormatter(); 
    series1Format.setPointLabelFormatter(new PointLabelFormatter()); 
    series1Format.configure(getApplicationContext(), 
      R.xml.line_point_formatter_with_labels); 

    LineAndPointFormatter series2Format = new LineAndPointFormatter(); 
    series2Format.setPointLabelFormatter(new PointLabelFormatter()); 
    series2Format.configure(getApplicationContext(), 
      R.xml.line_point_formatter_with_labels_2); 

    // add an "dash" effect to the series2 line: 
    series2Format.getLinePaint().setPathEffect(
      new DashPathEffect(new float[]{ 

        // always use DP when specifying pixel sizes, to keep things consistent across devices: 
        PixelUtils.dpToPix(20), 
        PixelUtils.dpToPix(15)}, 0)); 

    plot.addSeries(series1, series1Format); 
    plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.BOTTOM).setFormat(new Format() { 
     @Override 
     public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) { 
      int i = Math.round(((Number) obj).floatValue()); 
      return toAppendTo.append(domainLabels[i]); 
     } 

     @Override 
     public Object parseObject(String source, ParsePosition pos) { 
      return null; 
     } 
    }); 
+0

macht den Code Sie auf dem Laufenden Arbeit oder nicht? Sie haben zwei Zeilen, in denen Sie "plot.getGraph(). GetBackgroundPaint()" verwenden, um die Farbe auf Weiß zu setzen. Wenn es funktioniert, dann ändern Sie einfach Weiß zu einer anderen Farbe. –

+0

Sprechen wir über Android wie im Telefon? Wenn ja, warum wird dort nicht eine Inhaltsansicht (XML) festgelegt? Das wäre der Ort, um die Farbe zu ändern. –

Antwort

1

Sieht aus wie Sie found the answer zu Ihrem Text Farbproblem.

So passen Sie den Abstand zwischen Ihrem Diagramm und den Domänen-/Bereichsbeschriftungen an, z. B. Androidplot 1.x, das durch die Linienbeschriftungs-Beschriftungen des Diagramms gesteuert wird. Um zum Beispiel die relative Positionierung des Bereichs Etiketten auf dem linken Rand des Diagramms anzupassen:

programmatisch:

// move line labels away from the graph by 5dp: 
plot.getGraph().getLineLabelInsets().setLeft(PixelUtils.dpToPix(-5)); 

xml param:

ap:lineLabelInsetLeft="-5dp" 
+0

Vielen Dank! :) – teiiluj

Verwandte Themen