2016-06-29 8 views
1

グラフを描画するのにmpchartを使用しています。ハイライトとラインのデータセットの交差点の円のサイズを大きくしたかったのです。どうすればこれを達成できますか? enter image description here折れ線グラフのハイライトポイントに円を描くにはどうすればよいですか?

強調表示されたポイントを持つ別のデータセットを追加して円のサイズを大きくすることができます。ハイライトが前後にドラッグされ、新しいデータセットを頻繁に更新する必要がある場合、これは本当に良いアプローチですか?

+0

こんにちはグラフにChartMarkerインスタンスを設定します。折れ線グラフの代わりにハーフライン円グラフを描く方法(画像上の上記の線のように) – kemdo

答えて

7

MpChartライブラリを使用する場合、ライブラリにはMarkerViewクラスが含まれており、選択した値をグラフに表示するためのマーカーを挿入できます。このMarkerViewクラスを使用して、選択したチャートデータのあらゆる種類のビューを表示できます。

私はドットのために新しいChartMarkerクラスを拡張し、MarkerViewクラスを作成しました。その後、コンストラクタでは、イメージビューを含むレイアウトを、ドットをsrcとしてsuperに渡しました。

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

最後

ChartMarker elevationMarker = new ChartMarker(getActivity()); 
elevationChart.setMarkerView(elevationMarker); 

()chart.setMarkerView通って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> 
+0

ありがとうYogesh !!完璧に働いた。 getXOffsetを - (getWidth()/ 2)に設定し、getYOffsetを - (getHeight()/ 2)に設定する必要がありました。ドットを中央に配置するためのオーバーライドされたメソッドです。 – Heisenberg

+0

うん!ドットのセンタリングを固定するためにオフセット値を与える必要があります。喜んで助ける – Yogesh

関連する問題