【问题标题】:How can I draw a circle on highlight point in line chart?如何在折线图中的高亮点上画一个圆圈?
【发布时间】:2016-11-01 05:10:14
【问题描述】:

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

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

【问题讨论】:

  • 你好。如何绘制半折线圆图而不是折线图(如图片中的上述线)

标签: android mpandroidchart


【解决方案1】:

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

因此,我为点创建了一个新的 ChartMarker 类并扩展了 MarkerView 类。然后在构造函数中,我将包含以点作为 src 的图像视图的布局传递给超级。

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>

【讨论】:

  • 谢谢Yogesh!工作完美。我必须将 set getXOffset 设置为 -(getWidth() / 2) 并将 getYOffset 设置为 -(getHeight() / 2);在被覆盖的方法中使点居中。
  • 是的!你必须给出一些偏移值来修复点的中心。很高兴为您提供帮助
  • @Yogesh 和 Heisenberg 你们是我的英雄 :)
  • 我想这样做并想添加另一个显示所选值的自定义标记,我该怎么做?
猜你喜欢
  • 1970-01-01
  • 2012-11-12
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多