Android 如果chart.setVisibleXRangeMaximum大于特定值,则条目的可绘制图标将消失

Android 如果chart.setVisibleXRangeMaximum大于特定值,则条目的可绘制图标将消失,android,mpandroidchart,linechart,Android,Mpandroidchart,Linechart,我正在使用MPAndroidchart,我想在实时检测到波谷时画一个红点 我用 set.getEntryForIndex(set.getEntryCount()-1).setIcon(ContextCompat.getDrawable(this, R.drawable.red_dot)); 如果我将chart.setVisibleXRangeMaximum(90)设置为可以,但是如果我将XRangeMaximum设置为大于大约100,如果我不使用手指放大,红点将消失 当我放大时,我能看到那些红

我正在使用MPAndroidchart,我想在实时检测到波谷时画一个红点

我用

set.getEntryForIndex(set.getEntryCount()-1).setIcon(ContextCompat.getDrawable(this, R.drawable.red_dot));
如果我将chart.setVisibleXRangeMaximum(90)设置为可以,但是如果我将XRangeMaximum设置为大于大约100,如果我不使用手指放大,红点将消失

当我放大时,我能看到那些红点

当XRangeMaximum大于100时,是否有任何解决方案可以保持红点可见,并且不需要放大,因为我想在该图表中显示大约300个数据

private void addEntry(double Pulse_Signal){
        LineData data = chart.getData();
        if (data != null) {
            ILineDataSet set = data.getDataSetByIndex(0);
            // set.addEntry(...); // can be called as well
            if (set == null) {
                set = createSet(false);
                data.addDataSet(set);
            }
            if(DrawCircleFlag){
                set.getEntryForIndex(set.getEntryCount()-1).setIcon(ContextCompat.getDrawable(this, R.drawable.red_dot));
            }
            else {
                data.addEntry(new Entry(set.getEntryCount(), (float) Pulse_Signal), 0);
            }
            data.notifyDataChanged();

            chart.notifyDataSetChanged();
            chart.setVisibleXRangeMaximum(260);
            chart.moveViewToX(data.getEntryCount());
        }
    }
像这样的最大值是90

X260是这样的吗

当我使用手指放大时,最大范围为260
我遇到了这个问题并找到了答案。图表上有最大数量的可见值,当您超过此值时,它不会绘制图标。默认值似乎是100。我使用以下方法确保图标始终绘制在图表上:


chart.setMaxVisibleValueCount(10000000)

嗨,我也遇到了同样的挑战,你找到解决办法了吗?谢谢!我花了很多时间假设这是基于我内在的或实际的可绘制尺寸。我之所以说“实际”,是因为它覆盖了画布图形,以保持比例与条形图宽度一致。