GraphView, как показать метку оси x?

Я пытаюсь построить график, используя библиотеку GraphView. Моя проблема в том, что ось x не отображается, а ось y может. Кроме того, значение на метке оси X также не отображается.

Вот мой xml-файл:

    <com.jjoe64.graphview.GraphView
        android:id="@+id/graph"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:background="#FAFA82" />

и код Java:

double graph1LastXValue = 5d;
GraphView graph = (GraphView) findViewById(R.id.graph);
graph.getGridLabelRenderer().setVerticalAxisTitle("Match Value");
graph.getGridLabelRenderer().setHorizontalAxisTitle("Time/s");
Series2 = new LineGraphSeries<DataPoint>();
mSeries1.setColor(Color.RED);
mSeries1.setThickness(2);
graph.addSeries(mSeries2);
graph.getViewport().setXAxisBoundsManual(true);
graph.getViewport().setMinX(0);
graph.getViewport().setMaxX(100);
graph.getGridLabelRenderer().setGridStyle(GridStyle.BOTH);
plotter(matchValMean);

protected void plotter(Double matchVal) {
matchValue = matchVal;
// TODO Auto-generated method stub
mTimer1 = new Runnable() {
    @Override
     public void run() {
            graph1LastXValue += 1d;
            mSeries1.appendData(new DataPoint(graph1LastXValue, matchValue), true, 100);
            mHandler.postDelayed(this, 1000);
        }
    };
    mHandler.postDelayed(mTimer1, 1000);
}

Я не показывал все коды, потому что они очень длинные. Заранее спасибо :)


person Tuss    schedule 16.05.2015    source источник


Ответы (1)


Если вы хотите показать заголовок оси X

GridLabelRenderer gridLabel = graphView.getGridLabelRenderer();
gridLabel.setHorizontalAxisTitle("X Axis Title");

Если вы хотите отобразить метку оси X на основе этого документация

// GraphView 3.x
graphView.setHorizontalLabels(new String[] {"2 days ago", "yesterday", "today", "tomorrow"});
graphView.setVerticalLabels(new String[] {"high", "middle", "low"});

// GraphView 4.x
StaticLabelsFormatter staticLabelsFormatter = new StaticLabelsFormatter(graph);
staticLabelsFormatter.setHorizontalLabels(new String[] {"old", "middle", "new"});
staticLabelsFormatter.setVerticalLabels(new String[] {"low", "middle", "high"});
graphView.getGridLabelRenderer().setLabelFormatter(staticLabelsFormatter);
person Sruit A.Suk    schedule 05.08.2015
comment
Он работает над демо-проектом, то есть с одной активностью, но не работает с моими живыми проектами. Есть проблемы? - person Sunil; 05.06.2018