private void chartPieRender() { try { // 标签显示(隐藏,显示在中间,显示在扇区外面) chartPie.setLabelStyle(XEnum.SliceLabelStyle.INSIDE); chartPie.getLabelPaint().setColor(Color.WHITE); chartPie.setDataSource(chartDataPie); chartPie.getPlotLegend().hide(); } catch (Exception e) { // TODO Auto-generated catch block Log.e(TAG, "chartPieRender():" + e.toString()); } }
@Override public void render(Canvas canvas) { try { chart.render(canvas); chartPie.render(canvas); } catch (Exception e) { Log.e(TAG, e.toString()); } }
private void drawLast() { // 标题 chart.setTitle("数据库统计"); chart.addSubtitle("(XCL-Charts Demo)"); chart.getPlotTitle().getTitlePaint().setColor(colorTitalAxes); chart.getPlotTitle().getSubtitlePaint().setColor(colorTitalAxes); // 激活点击监听 chart.ActiveListenItemClick(); chart.showClikedFocus(); // 扩展横向显示范围,当数据太多时可用这个扩展实际绘图面积 // chart.getPlotArea().extWidth(200f); // 禁用平移模式 chart.disablePanMode(); // 限制只能左右滑动 // chart.setPlotPanMode(XEnum.PanMode.HORIZONTAL); // 禁用双指缩放 // chart.disableScale(); chart.getDataAxis().show(); chart.getPlotLegend().show(); // 当值与轴最小值相等时,不显示轴 chart.hideBarEqualAxisMin(); // 批注 List<AnchorDataPoint> mAnchorSet = new ArrayList<AnchorDataPoint>(); AnchorDataPoint an1 = new AnchorDataPoint(2, 0, XEnum.AnchorStyle.CIRCLE); an1.setAlpha(200); an1.setBgColor(Color.rgb(203, 189, 231)); // an1.setAreaStyle(XEnum.DataAreaStyle.FILL); AnchorDataPoint an2 = new AnchorDataPoint(1, 1, XEnum.AnchorStyle.CIRCLE); // CIRCLE an2.setBgColor(Color.GRAY); AnchorDataPoint an3 = new AnchorDataPoint(0, 2, XEnum.AnchorStyle.RECT); // CAPROUNDRECT RECT an3.setBgColor(Color.rgb(255, 145, 126)); AnchorDataPoint an4 = new AnchorDataPoint(0, 1, XEnum.AnchorStyle.CAPRECT); an4.setBgColor(Color.rgb(255, 145, 126)); an4.setAnchor("我是批注"); mAnchorSet.add(an1); mAnchorSet.add(an2); mAnchorSet.add(an3); mAnchorSet.add(an4); chart.setAnchorDataPoint(mAnchorSet); chart.setApplyBackgroundColor(true); chart.setBackgroundColor( XEnum.Direction.VERTICAL, Color.rgb(69, 117, 180), Color.rgb( 224, 243, 248)); // Color.rgb(17, 162, 255),Color.rgb(163, 219, 254));//Color.WHITE); chart.getBorder().setBorderLineColor(Color.rgb(181, 64, 1)); chart.getBorder().getLinePaint().setStrokeWidth(3); chart.getPlotArea().setBackgroundColor(true, colorPlotArea); // chart.getPlotArea().setApplayGradient(true); // chart.getPlotArea().setGradientDirection(XEnum.Direction.VERTICAL); // chart.getPlotArea().setBeginColor(Color.rgb(116, 174, 210)); // chart.getPlotArea().setEndColor(Color.WHITE); chart.showRoundBorder(); CustomLineData line1 = new CustomLineData("分界", 60d, Color.rgb(218, 198, 61), 7); line1.setCustomLineCap(XEnum.DotStyle.HIDE); line1.setLabelHorizontalPostion(Align.RIGHT); // line1.setLabelOffset(15); line1.getLineLabelPaint().setColor(Color.RED); mCustomLineDataset.add(line1); chart.setCustomLines(mCustomLineDataset); // 饼图 float pieWH = DensityUtil.dip2px(getContext(), 70); float pieX = chart.getPlotArea().getRight() - pieWH * 3; chartPie.setChartRange(pieX, pieWH, pieWH, pieWH); }