如何在折线图中的高光点上画圆圈?

时间:2016-06-29 13:07:17

标签: android mpandroidchart

我正在使用mpchart绘制我的图表。我想增加荧光笔和线数据集交点的圆周大小。我怎样才能做到这一点?enter image description here

我在某处读到我们可以添加另一个带有突出显示点的数据集并增加其圆形大小。如果我的荧光笔会被来回拖动而且我将不得不经常更新新数据集,这真的是一个很好的方法吗?

1 个答案:

答案 0 :(得分:11)

使用MpChart库时,库包含一个MarkerView类,可帮助我们插入标记以在图表中显示所选值。我们可以使用此MarkerView类来显示所选图表数据的任何类型的视图。

因此,对于点我创建了一个新的 ChartMarker 类和扩展的 MarkerView 类。然后在构造函数中,我传递了包含图像视图的布局,其中dot作为src到super。

public ChartMarker(Context context) {
    //the super will take care of displaying the layout
    super(context, R.layout.layout_dot);
}

最后通过chart.setMarkerView()

将ChartMarker实例设置为图表
ChartMarker elevationMarker = new ChartMarker(getActivity());
elevationChart.setMarkerView(elevationMarker);

对于layout_dot.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<ImageView
    android:background="@drawable/dot"
    android:layout_width="5dp"
    android:layout_height="5dp" />

</LinearLayout>