MPandroid自定义图表颜色和间距

时间:2018-10-02 11:07:34

标签: java android charts

我想创建一个仅显示5个值的非常简单的图表。我已完成大部分工作,但还剩下两件事,我无法弄清楚。

第一 我想在左侧和右侧添加一些间距/填充(例如从0.7开始到5.3结束),这样我的图表就不会停留在两侧。我本想添加一些其他值,但随后我的标签不匹配或显示了这些值。

第二 当我选择一个值时,将显示穿过此点的交叉线。我希望能够选择值,但我不希望这些交叉线。我找不到使它透明或禁用的方法。与其代替这条线,我不如希望增大圆圈或至少改变其颜色,以便用户知道选择了哪些数据。

Here I added spacing but labels dont match

There are crossing lines I dont want

        // enable touch gestures
        mChart.setTouchEnabled(true);
        mChart.setOnChartValueSelectedListener(this);

        XAxis xAxis = mChart.getXAxis();
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        xAxis.disableGridDashedLine();
        xAxis.disableAxisLineDashedLine();
        xAxis.setAxisLineWidth(0f);
        xAxis.setDrawGridLines(false);
        xAxis.setLabelCount(5, true);
        xAxis.setCenterAxisLabels(false);
        mChart.getAxisRight().setEnabled(false);

        // enable scaling and dragging
        mChart.setDragEnabled(false);
        mChart.setScaleEnabled(false);
        mChart.setScaleXEnabled(false);
        mChart.setScaleYEnabled(false);
        Description description = new Description();
        description.setText("");
        mChart.setDescription(description);

        YAxis leftAxis = mChart.getAxisLeft();
        leftAxis.removeAllLimitLines(); // reset all limit lines to avoid overlapping lines
        leftAxis.setAxisMaximum(50f);
        leftAxis.setAxisMinimum(-50f);
        leftAxis.setDrawZeroLine(true);
        leftAxis.setEnabled(false);

        LineDataSet set1 = new LineDataSet(values, "");

        set1.setDrawIcons(false);
        set1.setColor(Color.parseColor("#4055B8"));
        set1.setMode(LineDataSet.Mode.CUBIC_BEZIER);
        set1.setCircleColor(Color.parseColor("#2B397A"));
        set1.setLineWidth(2f);
        set1.setCircleRadius(3f);
        set1.setDrawCircleHole(false);
        set1.setValueTextSize(13f);
        set1.setDrawFilled(true);
        set1.setFormSize(0f);

0 个答案:

没有答案