android achartengine折线图

来源:互联网 发布:淘宝网上售假法院传票 编辑:程序博客网 时间:2024/06/02 09:43

利用achartengine画折线图,大部分代码是不变的,只需传递自己的数据并动态地添加到自己的布局文件中即可

                      //传递订单数据

                        JSONObject object1 = object.getJSONObject("lastcount");

                        XYSeries series = new XYSeries("订单数");

                        for (int i = 2; i <= 25; i++) {

                            if (i <= 10) {

                                series.add(

                                        i,

                                        object1.getInt("0"

                                                + String.valueOf(i - 1)));

                            } else {

                                series.add(i,

                                        object1.getInt(String.valueOf(i - 1)));

                            }

                        }

                        mDataset.addSeries(series);

                        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(30);// 设置标签的文字大小

                        mRenderer.setLegendTextSize(20);// 设置图例文本大小

                        mRenderer.setPointSize(2f);// 设置点的大小

                        mRenderer.setYAxisMin(0);// 设置y轴最小值是0

                        mRenderer.setYAxisMax(5);

                        mRenderer.setYLabels(5);// 设置Y轴刻度个数(貌似不太准确)

                        mRenderer.setXAxisMax(50);

                        mRenderer.setShowGrid(true);// 显示网格

                        // 将x标签栏目显示如:1,2,3,4替换为显示1月,2月,3月,4月

                        mRenderer.addXTextLabel(1, "0时");

                        mRenderer.addXTextLabel(7, "6时");

                        mRenderer.addXTextLabel(13, "12时");

                        mRenderer.addXTextLabel(19, "18时");

                        mRenderer.addXTextLabel(25, "24时");

                        mRenderer.addXTextLabel(31, "6时");

                        mRenderer.addXTextLabel(37, "12时");

                        mRenderer.addXTextLabel(43, "18时");

                        mRenderer.addXTextLabel(49, "24时");

                        mRenderer.setXLabels(0);// 设置只显示如1月,2月等替换后的东西,不显示1,2,3等

                        mRenderer.setYLabels(0);

                        mRenderer.setPanEnabled(false,false);// 设置为不可平移

                        mRenderer.setZoomEnabled(false,false);// 设置为不可缩放

                        mRenderer.setMargins(newint[] { 0, 0, -95, 0 });// 设置视图位置

                                                                        // 分别对应上左下右

                        XYSeriesRenderer r = new XYSeriesRenderer();// (类似于一条线对象)

                        r.setColor(Color.RED);// 设置颜色

                        r.setPointStyle(PointStyle.CIRCLE);// 设置点的样式

                        r.setFillPoints(true);// 填充点(显示的点是空心还是实心)

                        r.setDisplayChartValues(true);// 将点的值显示出来

                        r.setChartValuesSpacing(20);// 显示的点的值与图的距离

                        r.setChartValuesTextSize(25);// 点的值的文字大小

                        // r.setFillBelowLine(true);//是否填充折线图的下方

                        // r.setFillBelowLineColor(Color.GREEN);//填充的颜色,如果不设置就默认与线的颜色一致

                        r.setLineWidth(3);// 设置线宽

                        mRenderer.addSeriesRenderer(r);

                        GraphicalView view = ChartFactory.getLineChartView(

                                StatisticActivity.this, mDataset, mRenderer);

                        view.setBackgroundColor(Color.WHITE);

                        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(

                                LinearLayout.LayoutParams.MATCH_PARENT,

                                LinearLayout.LayoutParams.MATCH_PARENT);

                        amountLayout.addView(view, params);//动态添加组件


0 0
原创粉丝点击