Android折线图开发之Achartnegine
效果图如下:
首先,要使用achartengine必须要加入jar包(源码中有,可以拷出来用)
直接贴代码:
<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.lg.achartenginedemo.MainActivity"><RelativeLayoutandroid:id="@+id/chart"android:layout_width="match_parent"android:layout_height="300dp"/></RelativeLayout>
下面是Activity中的代码:
publicclassMainActivityextendsAppCompatActivity{privateRelativeLayoutchart;//XY轴坐标数据privateXYSeriesseries1,series2;//单个曲线渲染器privateXYSeriesRendererrenderer1,renderer2;//图标数据集privateXYMultipleSeriesDatasetmDataset=newXYMultipleSeriesDataset();//曲线图整体渲染器privateXYMultipleSeriesRenderermRenderer=newXYMultipleSeriesRenderer();//绘图视图privateGraphicalViewmChartView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);chart=(RelativeLayout)findViewById(R.id.chart);init_chart();}privatevoidinit_chart(){//添加曲线mRenderer.setXTitle("序号");//设置为X轴的标题mRenderer.setYTitle("数值");//设置为Y轴的标题mRenderer.setChartTitle("achartengine折线图");//设置图表标题mRenderer.setMargins(newint[]{30,40,20,30});//上左下右边距mRenderer.setAxisTitleTextSize(20);//设置轴标题文本大小mRenderer.setLabelsColor(Color.rgb(0xD2,0x69,0x1E));//坐标名称及标题颜色mRenderer.setXLabelsColor(Color.BLACK);//设置X轴刻度颜色mRenderer.setYLabelsColor(0,Color.BLACK);//设置Y轴刻度颜色mRenderer.setChartTitleTextSize(30);//设置图表标题文字的大小mRenderer.setLabelsTextSize(18);//设置标签的文字大小mRenderer.setYLabels(10);//设置Y轴刻度个数mRenderer.setYLabelsAlign(Paint.Align.RIGHT);//设置刻度线与Y轴之间的相对位置关系mRenderer.setClickEnabled(false);mRenderer.setZoomEnabled(true);//设置是否可以滑动及放大缩小;mRenderer.setPanEnabled(true);mRenderer.setApplyBackgroundColor(true);//设置背景颜色可应用mRenderer.setBackgroundColor(Color.argb(20,0xFF,0xFF,0xFF));//内部颜色mRenderer.setMarginsColor(Color.argb(20,0xFF,0xB5,0xC5));//外部颜色mRenderer.setShowLegend(true);//隐藏曲线以外的部分mRenderer.setLegendHeight(50);mRenderer.setLegendTextSize(20);mRenderer.setSelectableBuffer(10);series1=newXYSeries("曲线1",0);//XY坐标序列//设置坐标点series1.add(0,3);series1.add(1,1);series1.add(2,4);series1.add(3,2);series2=newXYSeries("曲线2",0);series2.add(0,2);series2.add(1,4);series2.add(2,1);series2.add(3,5);mDataset.addSeries(series1);mDataset.addSeries(series2);//曲线1renderer1=newXYSeriesRenderer();renderer1.setPointStyle(PointStyle.CIRCLE);//坐标点形式renderer1.setPointStrokeWidth(15);//坐标点的大小renderer1.setColor(Color.RED);//温度线红色温度renderer1.setLineWidth(3);//线宽3//曲线2renderer2=newXYSeriesRenderer();renderer2.setPointStyle(PointStyle.CIRCLE);//坐标点形式renderer2.setPointStrokeWidth(15);//坐标点的大小renderer2.setColor(Color.BLUE);//温度线红色温度renderer2.setLineWidth(3);//线宽3mRenderer.addSeriesRenderer(renderer1);mRenderer.addSeriesRenderer(renderer2);mChartView=ChartFactory.getLineChartView(this,mDataset,mRenderer);chart.addView(mChartView,newLayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));mChartView.repaint();}}
相信大家能一目了然,当然可以根据不同的需求进行改动
源码地址:http://down.51cto.com/data/2222017
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。