GraphView,如何显示x轴标签?

时间:2015-05-16 18:52:35

标签: android android-graphview

我尝试使用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);
}

我没有显示所有代码,因为它很长。在此先感谢:)

1 个答案:

答案 0 :(得分:5)

如果您想要显示X轴的标题

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

如果您想根据this文档显示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);