1:在安卓开发中,利用折线图显示数据。本次利用的是achartengine来绘图,需要将相应的jar包放在libs文件夹下。
2:新建Android Activity 名为ZheXianActivity.java
public class ZheXianActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//不显示标题
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_zhe_xian);
//绘图
lineView();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.zhe_xian, menu);
return true;
}
public void lineView(){
//用来存放数据
XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();
//原点处显示"使用电数图"
XYSeries series = new XYSeries("使用电数图");
//添加点x,y
series.add(1,2));
series.add(2,5));
series.add(3,9));
series.add(4,2));
mDataset.addSeries(series);
//设置图表渲染器
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
//设置图表的X轴的当前方向
mRenderer.setOrientation(XYMultipleSeriesRenderer.Orientation.HORIZONTAL);
mRenderer.setXTitle("天数");//设置为X轴的标题
mRenderer.setYTitle("电数");//设置y轴的标题
mRenderer.setAxisTitleTextSize(40);//设置轴标题文本大小
mRenderer.setChartTitle("用电走势图");//设置图表标题
mRenderer.setChartTitleTextSize(40);//设置图表标题文字的大小
mRenderer.setLabelsTextSize(22);//设置标签的文字大小
mRenderer.setLegendTextSize(20);//设置图例文本大小
mRenderer.setPointSize(15f);//设置点的大小
mRenderer.setYAxisMin(0);//设置y轴最小值是0
mRenderer.setYAxisMax(15); //设置y轴最大值是15
mRenderer.setYLabels(10);//设置Y轴显示刻度个数
mRenderer.setXAxisMax(30);
mRenderer.setXAxisMin(0);
mRenderer.setXLabels(30);
mRenderer.setFitLegend(true);
mRenderer.setShowGrid(true);//显示网格
/* //将x标签栏目显示如:1,2,3,4替换为显示1月,2月,3月,4月
mRenderer.addXTextLabel(1, "1月");
mRenderer.setXLabels(0);//设置只显示如1月,2月等替换后的东西,不显示1,2,3等
mRenderer.setMargins(new int[] { 20, 30, 15, 20 });//设置视图位置
*/
XYSeriesRenderer r = new XYSeriesRenderer();//(类似于一条线对象)
r.setColor(Color.BLUE);//设置颜色
r.setPointStyle(PointStyle.CIRCLE);//设置点的样式
r.setFillPoints(true);//填充点(显示的点是空心还是实心)
//持续绘图把这句话注释 r.setDisplayChartValues(true);//将点的值显示出来
r.setChartValuesSpacing(10);//显示的点的值与图的距离
r.setChartValuesTextSize(40);//点的值的文字大小
// r.setFillBelowLine(true);//是否填充折线图的下方
// r.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致
r.setLineWidth(3);//设置线宽
mRenderer.addSeriesRenderer(r);
// rTwo.setFillBelowLine(true);//是否填充折线图的下方
// rTwo.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致
GraphicalView view = ChartFactory.getLineChartView(this, mDataset, mRenderer);
view.setBackgroundColor(Color.BLACK);
setContentView(view);
}
}
3:有时为了让图表更加美观,我们可以设置手机横屏显示图表需要在AndroidManifest.xml中进行配置
<activity
android:screenOrientation="landscape"
android:name="com.example.jsonprase.ZheXianActivity"
android:label="@string/title_activity_zhe_xian" >
</activity>
4:这样在Activity_Zhe_Xian.xml中就可以显示一张图表了。