android使用achartengine 實現折線圖

折線圖的實現分爲下邊幾個步驟:
1、第一步:數據的準備
XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();
XYSeries series1 = new XYSeries("第一條線");
series1.add(1, 7);
series1.add(2, 9);
series1.add(3,12);
series1.add(4, 5);
mDataset.addSeries(series1);
XYSeries series2 = new XYSeries("第二條線");
series2.add(1, 3);
series2.add(2, 8);
series2.add(3, 7);
series2.add(4, 4);
mDataset.addSeries(series2);
第二、步是描繪器的設置即XYMultipleSeriesRenderer的實現
這個主要實現的是座標軸的繪製包括,字體大小,座標軸的刻度的設置
例如 XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); //設置圖表的X軸的當前方向 mRenderer.setOrientation(XYMultipleSeriesRenderer.Orientation.HORIZONTAL);
mRenderer.setXTitle("日期");//設置爲X軸的標題
mRenderer.setYTitle("溫度");//設置y軸的標題
mRenderer.setAxisTitleTextSize(20);//設置軸標題文本大小
mRenderer.setChartTitle("溫度走勢圖");//設置圖表標題
mRenderer.setChartTitleTextSize(30);//設置圖表標題文字的大小
mRenderer.setLabelsTextSize(18);//設置標籤的文字大小
mRenderer.setLegendTextSize(20);//設置圖例文本大小
mRenderer.setPointSize(10f);//設置點的大小
mRenderer.setYAxisMin(0);//設置y軸最小值是0
mRenderer.setYAxisMax(15);
mRenderer.setYLabels(10);//設置Y軸刻度個數(貌似不太準確)
mRenderer.setXAxisMax(5);
mRenderer.setShowGrid(true);//顯示網格
//將x標籤欄目顯示如:1,2,3,4替換爲顯示1月,2月,3月,4月
mRenderer.addXTextLabel(1, "1月");
mRenderer.addXTextLabel(2, "2月");
mRenderer.addXTextLabel(3, "3月");
mRenderer.addXTextLabel(4, "4月");
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(25);//點的值的文字大小

// r.setFillBelowLine(true);//是否填充折線圖的下方
// r.setFillBelowLineColor(Color.GREEN);//填充的顏色,如果不設置就默認與線的顏色一致
r.setLineWidth(3);//設置線寬
mRenderer.addSeriesRenderer(r);


XYSeriesRenderer rTwo = new XYSeriesRenderer();//(類似於一條線對象)
rTwo.setColor(Color.GRAY);//設置顏色
rTwo.setPointStyle(PointStyle.CIRCLE);//設置點的樣式
rTwo.setFillPoints(true);//填充點(顯示的點是空心還是實心)
rTwo.setDisplayChartValues(true);//將點的值顯示出來
rTwo.setChartValuesSpacing(10);//顯示的點的值與圖的距離
rTwo.setChartValuesTextSize(25);//點的值的文字大小

// rTwo.setFillBelowLine(true);//是否填充折線圖的下方
// rTwo.setFillBelowLineColor(Color.GREEN);//填充的顏色,如果不設置就默認與線的顏色一致
rTwo.setLineWidth(3);//設置線寬

mRenderer.addSeriesRenderer(rTwo);

第四步:生成圖view
GraphicalView view = ChartFactory.getLineChartView(this, mDataset, mRenderer);
view.setBackgroundColor(Color.BLACK);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章