Exemplo n.º 1
0
  private void drawDyLegend() {

    Legend dyLegend = chart.getDyLegend();
    if (null == dyLegend) return;
    dyLegend.setPosition(0.8f, 0.5f);
    if (chart.getPlotArea().getHeight() > chart.getPlotArea().getWidth()) {
      dyLegend.setPosition(0.6f, 0.5f);
    }
    // dyLegend.setColSpan(30.f);
    dyLegend.getBackgroundPaint().setColor(Color.BLACK);
    dyLegend.getBackgroundPaint().setAlpha(100);
    dyLegend.setRowSpan(20.f);
    dyLegend.setMargin(15.f);
    dyLegend.setStyle(XEnum.DyInfoStyle.ROUNDRECT);

    Paint pDyLegend = new Paint(Paint.ANTI_ALIAS_FLAG);
    pDyLegend.setColor(Color.GREEN);
    PlotDot dotDyLegend = new PlotDot();
    dotDyLegend.setDotStyle(XEnum.DotStyle.RECT);
    dyLegend.addLegend(dotDyLegend, "库可用xxx(PB)", pDyLegend);

    Paint pDyLegend2 = new Paint(Paint.ANTI_ALIAS_FLAG);
    pDyLegend2.setColor(Color.RED);
    dyLegend.addLegend(dotDyLegend, "库已用xxx(PB)", pDyLegend2);

    Paint pDyLegend3 = new Paint(Paint.ANTI_ALIAS_FLAG);
    pDyLegend3.setColor(Color.CYAN);
    dyLegend.addLegend(dotDyLegend, "未分配xxx(PB)", pDyLegend3);

    Paint pDyLegend4 = new Paint(Paint.ANTI_ALIAS_FLAG);
    pDyLegend4.setColor(Color.YELLOW);
    dyLegend.addLegend("总计:xxx(PB)", pDyLegend4);
  }
  @Override
  public void render(Canvas canvas) {
    try {
      chart.render(canvas);
      chart2.render(canvas);

      // 绘制轴点
      float radius = 10f;
      Paint paint = new Paint();
      paint.setAntiAlias(true);
      paint.setColor(this.axisColor);
      canvas.drawCircle(
          chart2.getPlotArea().getLeft(), chart2.getPlotArea().getBottom(), radius, paint);
      canvas.drawCircle(
          chart2.getPlotArea().getRight(), chart2.getPlotArea().getBottom(), radius, paint);
      canvas.drawCircle(
          chart2.getPlotArea().getLeft(), chart2.getPlotArea().getTop(), radius, paint);

    } catch (Exception e) {
      Log.e(TAG, e.toString());
    }
  }
Exemplo n.º 3
0
  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);
  }