我尝试使用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);
}
我没有显示所有代码,因为它很长。在此先感谢:)
答案 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);