【问题标题】:mpandroidchart X-Axis labels density when zoomed outmpandroidchart 缩小时的 X 轴标签密度
【发布时间】:2017-02-14 11:32:02
【问题描述】:

我有一个如下图所示的折线图,并且在每个 Y 轴值上都绘制了 X 轴标签。现在它几乎无法阅读。

my chart

我想要的是像下面这张照片那样绘制 X 轴标签,所以不是每个 Y 轴值,而是其中的几个值,当我放大时,其余值将动态显示.

what I want

我让向导休息了,但没有找到任何关于这个问题的信息。

编辑:

我的图表选项

        ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
        dataSets.add(set1);

        LineData lineData = new LineData(dataSets);
        lineData.setDrawValues(false);
        lineData.setHighlightEnabled(true);

        chart.setData(lineData);                      
        chart.setMaxVisibleValueCount(3);

        // description
        Description description = new Description();
        description.setTextColor(ColorTemplate.VORDIPLOM_COLORS[2]);
        description.setText("");
        chart.setDescription(description);

        // X-Axis
        IAxisValueFormatter formatter = new IAxisValueFormatter() {
            @Override
            public String getFormattedValue(float value, AxisBase axis) {
                return x_data[(int)value];
            }

            @Override
            public int getDecimalDigits() {
                return 0;
            }
        };
        chart.getXAxis().setValueFormatter(formatter);
        chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);

        chart.getXAxis().setGranularity(1);
        //chart.getXAxis().setGranularityEnabled(true);

        //Y-Axis
        chart.getAxisLeft().setAxisMinimum(0f);
        chart.getAxisRight().setAxisMinimum(0f);

        // avg line
        Cursor avg = dbHelper.getAvg(id);
        avg.moveToFirst();

        if (avg.moveToFirst()) {

            YAxis leftAxis = chart.getAxisLeft();
            LimitLine ll = new LimitLine(avg.getFloat(0), "avg");
            ll.setLineColor(Color.BLUE);
            ll.setLineWidth(0.3f);
            ll.setTextColor(Color.BLACK);
            ll.setTextSize(6f);
            leftAxis.addLimitLine(ll);
        }

        chart.invalidate();

【问题讨论】:

    标签: android charts mpandroidchart


    【解决方案1】:

    试试这个: chart.getXAxis().setLabelCount(int count)

    【讨论】:

      【解决方案2】:

      添加这行代码

       mChart.setMaxVisibleValueCount(6);
      

      它可以帮助你!

      【讨论】:

      • 这一行之后什么都没有发生,仍然显示了 9 个 XAxis 值。
      • 你减值了吗?
      • 是的,我做到了。用我的图表选项编辑了我的帖子。有什么建议吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 2019-02-26
      • 2015-06-08
      相关资源
      最近更新 更多