マスターへのエントリからの物品のAndroidのチャート最強の年間要約!

Androidのチャートといえば、MPAndroidChartは、あなたが実現レンダリングを見てみましょうだろう、どのように強力にとして、ライブラリをグラフ化する。この強力なオープンソースの話をする必要があります!レンダリングが正常にあなたの注意をキャッチした場合、その後、ちょっとちょっとちょっと、当然のことながら、記事を読んで、そして最終的に賞賛を指すようです!
静かなミミが、これは氷山の効果のほんの先端が達成できている(と私は、物品の最終表面を置く多くのレンダリング)、あなたを教え
ここに画像を挿入説明
MPAndroidChartはまた、様々なライブラリーのチャートを描くことができ、偉大な神が書かれたフィリップ・GitHubの命名されました。今、ビッグデータの時代に来て、データをより直感的に表示するようにグラフを使って。そして(など株式、ヘルスケア、など...)多くの産業は、チャートをサポートする必要があります。だから、私たちのプログラマに描画することは必要な技術です。前記グラフのこれらのタイプ:折れ線グラフ(折れ線グラフ)BarChartコントロール(ヒストグラム)、Horizo​​ntalBarChart(横ヒストグラム)ローソク足チャート(キャンドル)BubbleChart(バブルチャート)円グラフ(パイ)レーダーチャート(レーダーチャート)scatterchart(スキャッタグラム)CombinedChart(図の組み合わせ)。

まず、依存関係を追加

単純にこの強力なアイコンライブラリを上にして幸せに頼ることができますに追加!
詳細については、私のオリジナルのブログにジャンプしてください:詳細なMPAndroidChartについて-依存性を追加します。

第二に、ビューとシンプルな実装を作成

非常に簡単な図面の簡単なを実装し、まずあなたがXMLファイルにビュー(ビュー)に追加し、バックエンドのコードを作成する必要がList<Entry>リストの中には、X軸とY軸のデータ、そして作成し、DataSetオブジェクトとデータをオブジェクト対応するパラメータに渡され、最終的に制御を呼び出してsetData()、あなたに渡されたメソッドデータオブジェクト、線グラフを生成します!コードは大体このようなものです:

//其中两个参数对应的分别是   X轴   Y轴
list.add(new Entry(0,7));     
list.add(new Entry(1,10));
list.add(new Entry(2,12));
list.add(new Entry(3,6));
list.add(new Entry(4,3));
//list是你这条线的数据  "语文" 是你对这条线的描述
LineDataSet lineDataSet=new LineDataSet(list,"语文");   
LineData lineData=new LineData(lineDataSet);
//有多条数据则使用adddataset()方法 参数是你的DataSet
//lineData.addDataSet(lineDataSet);

私のオリジナルのブログに固有のコードとジャンプを実装してください:使用MPAndroidChartの詳細-作成ビューと単純な実装

第三に、インタラクティブなチャートが続きます

などズームジェスチャをクリックし、キーを押し、ドラッグ、これらのイベントを設定して行うことができます。インタラクティブなチャートは、次のようないくつかの操作は、チャートを参照してください有効(または無効)コールバックイベントをリッスン以下は、リスナーのコールバックメソッドの一部です:

public interface OnChartGestureListener {
    //长按监听事件回调
    public void onChartLongPressed(MotionEvent me);
    //双击监听事件回调
    public void onChartDoubleTapped(MotionEvent me);
   //单击监听事件回调
    public void onChartSingleTapped(MotionEvent me);
}

より具体的なコードと私のオリジナルのブログを達成するためにスキップ:詳細なMPAndroidChartについて-インタラクティブなチャートを

第四に、ハイライト

ここに画像を挿入説明
上記の、あなたはグラフのデータをクリックすると、データが強調表示されていることを強調手段は、(もちろんあなたは無効にすることができます)、ハイライトが有効(または無効)することができ、あなたはまた、ハイライト表示のスタイルを設定することができ、あなたもオーバーライドできるハイライトのクラスをしてから使用しsetHighlighter(ChartHighlighter highlighter)てカスタムのカスタマイズスタイルの入ってくるクラスを強調表示する方法を(例えば、...道の絵と定義される)、また、リスナーコールバックイベントを強調しました。

public interface OnChartValueSelectedListener {
    //选中一处高亮时的回调
    public void onValueSelected(Entry e, Highlight h);
    //没有选中时的回调
    public void onNothingSelected();
}

より具体的なコードと私のオリジナルのブログを達成するためにスキップ:詳細なMPAndroidChartについて-ハイライト

5つの軸

Axisは、チャートの中で最も重要な要素の一つとして、いくつかの造園は非常に必要であること!たとえば、によってすることができるsetEnabled(boolean enabled)軸を描くかどうかを設定する方法もできsetAxisMaximum(float max)、最大は軸設定方法、最小座標値。必要であれば、あなたもできるsetInverted(boolean enabled)逆さまに軸を置きます!もちろん、Axisは、非常に重要な属性を設定する必要があることが多いがあり、それはタグが座標軸で、Xは、あなたが週のフォームを表示する必要があるかもしれません軸、デフォルトでは直接を通じて、アラビア数字で.setValueFormatter();再フォーマットする方法何をすることができますの!X軸を達成するための方法は次のとおりです。

XAxis xAxis = chart.getXAxis();//实例化X轴对象进行使用
//设置X轴位置 有以下几种   TOP   BOTTOM   BOTH_SIDED   TOP_INSIDE    BOTTOM_INSIDE
xAxis.setPosition(XAxisPosition.BOTTOM);
//设置X轴标签数据绘制的角度   也就是X轴上数据标签的旋转角度
xAxis.setLabelRotationAngle(90)
xAxis.setTextColor(Color.RED);//设置标签字体颜色
// 自定义X轴上的数据格式
xAxis.setValueFormatter(new MyCustomFormatter());

より具体的なコードは、私のオリジナルのブログを達成するためにスキップして:詳細なMPAndroidChartについて-軸(X軸、Y軸、ゼロライン)

第六に、追加データ

データを追加することは実際には非常に簡単で、単にリストを作成し、その後、内部にデータを追加しますが、する必要がありますされて入力する必要がありますが、リスト<>型は角括弧は、このような折れ線グラフとして、変更する必要があるの内側に含まれていることが異なるパラメータを異なるグラフを描画することにより、あなたはデータを追加するときのパラメータが異なることになるので、(折れ線グラフ)は、棒グラフとしてリスト、(BarChartコントロール)は、リストである、というように、各マップは異なるエントリを持っている以下のリスト、およびパイ(円グラフ)されていますいくつかの例:

//折线图(LineChart)添加数据
List<Entry>list=new ArrayList<>();   
//其中两个参数对应的分别是   X轴   Y轴
list.add(new Entry(1,10));
list.add(new Entry(2,12));

//条形图(BarChart)添加数据
List<BarEntry>list=new ArrayList<>();
//其中两个数字对应的分别是   X轴   Y轴
list.add(new BarEntry(1,7));     
list.add(new BarEntry(2,10));

//饼图(PieChart)添加数据
List<PieEntry> list= new ArrayList<>();
//第一个参数是当前所占区域的大小数据,第二个参数是当前扇形的描述
list.add(new PieEntry(20, "软件设计"));
list.add(new PieEntry(30, "英语"));

より具体的なコードと私のオリジナルのブログを達成するためにスキップ:詳細なMPAndroidChartについて-設定データを

七、ValueFormatterインタフェース

以下、前記折り線のデータ単位、X軸カスタムラベルValueFormatterインターフェイスが実際の開発では、データValueFormatterにチャートデータ、X軸、Y軸(カスタム)をフォーマットすることができ、インターフェースを介して達成されます非常に一般的なインターフェースですが、また、グラフ内の1つのスキルポイントが学びます学びます!
ここに画像を挿入説明
ここに画像を挿入説明
そしてコードより具体的な私のオリジナルのブログを達成するためにスキップ:MPAndroidChartが使用--ValueFormatterインタフェースを詳細に説明

八、グラフのスタイル設定

ここに画像を挿入説明
上記のように、それは単にチャートの少しの背景色を設定することで、チャートのスタイルの一部になると、あなたは素敵なグラフを作りたい、チャートのスタイル設定ビュー全体が非常に重要になり、たとえば、あなたは、グラフ全体を調整する必要があります背景色だけを呼び出しsetBackgroundColor(int color)、メソッドをたとえば、あなたが境界線の幅を設定したいとグラフ全体の境界線は、単に呼び出すsetBorderColor(int color)setBorderWidth(float width)メソッドをすることができ、非常に多くの方法があります...
特定のコードと、より私の元にスキップ実現ブログ:詳細な使用MPAndroidChart -チャートの設定とチャートのスタイル設定

ナイン、伝説

チャートの最も重要な要素の一つと同一の伝説は、造園のそのスタイルは以下に示すように、スタイルや場所を変更して凡例をレッスンチャートを学ぶためにも不可欠である、コードの唯一のいくつかの小さな行は、あなたが持つことができます美しい小さな伝説は、あなたが呼び出すことができますsetEnabled(boolean enabled)無効(または有効)伝説にする方法を、あなたも呼び出すことができsetPosition(LegendPosition pos)、チャートでの凡例の位置を設定する方法を、あなたもできるsetCustom(int[] colors, String[] labels)伝説のラベルテキストの色や定義の内容をカスタマイズ!
より具体的なコードと私のオリジナルのブログを達成するためにスキップ:使用--Legend伝説MPAndroidChartのより詳細なセットについて

ここに画像を挿入説明 ここに画像を挿入説明
ここに画像を挿入説明 ここに画像を挿入説明

チャートのX.の説明(英語の右下隅)

ここに画像を挿入説明
ただ絵チャートの種類、右下隅には、常にあなたが各チャートに従うよう、常に石膏を貼り付け、Ganshaを知らない、小さな手紙の束があるかどうか、気付くかもしれチャートを学ぶ学生もちろん、学生がより良いチャートに記述されている単語の英語の意味を理解することができるようになります、私たちは実際の開発を使用チャートで説明過言ではない、プラスあなたがチャートを記述するために言っている、あなたはチャートに持つことができますプラスTextViewの上に、より多くのタイトルのスタイルを実現することができ、あなたが聞かせしたい、この記述は、それはちょうどあなたのチャート上に表示し、その後、フォントサイズ、フォントの色を定義するために、それは完全にシンプルなのTextViewを書く方が良いです、外出先では、言いましたまだちょっとちょっと、使用する必要があります
、特定のコードを、より私のオリジナルのブログにスキップ実現:詳細なMPAndroidChartのための-設定(英語の文字列の右下隅)について説明チャート

XIチャート動的データ

ここに画像を挿入説明
上記のように動的なデータは、多くの場合、データの表示、追加するプロパティの実際の開発、削除データを使用する必要がありますされますが、チャートでリアルタイムの更新データをやるとしたら同じ理由で、もちろん、あなただけの、再集合データに必要その後、呼び出し.notifyDataSetChanged().invalidate()グラフのデータと更新表示の方法は、新しいデータがあなたの目の前に現れると、チャートが表示されます!
より具体的なコードと私のオリジナルのブログ実現するために進んでください:使用MPAndroidChartの詳細-ダイナミックなリアルタイムデータチャートを

XIIの変更ウィンドウ表示

変更画面表示、ディスプレイが実際に見るような用途のようないくつかの設定、あるsetVisibleXRangeMaximum(float maxXRange)方法、X軸が示す定義の最大サイズ、またはによってsetExtraOffsets(float left, float top, float right, float bottom)(グラフビュー約)オフセットの追加のインストレーション、再び呼び出すことができるcenterViewTo(float xValue, float yValue, AxisDependency axis)電流をビューxの中央に移動し、yの値が指定され、ビューのズームへのコードの使用のように...
特定のコードと、より私のオリジナルのブログにスキップ実現:利用MPAndroidChartの詳細-変更ウィンドウ表示

XIII、アニメーション

ここに画像を挿入説明
センドエフェクト、ないまともな映画のラインチャートとして?木材は、これが最も簡単であることに注意してください、私のスタイルは、ここではそれがアニメーションの最も簡単なY軸のアニメーションを実証することであるされていないという滞在に木材を滞在し、あなたはどのように多くのそれを下回る数えるどのように多くの、最も低い結果であると言うことができます(20+)、私は〜漫画するチャートを使用していた限り効果

public enum EasingOption {//由于效果太多,中间用逗号隔开了
Linear,EaseInQuad,EaseOutQuad,EaseInOutQuad,EaseInCubic,EaseOutCubic,EaseInOutCubic,EaseInQuart,
EaseOutQuart,EaseInOutQuart,EaseInSine,EaseOutSine,EaseInOutSine,EaseInExpo,EaseOutExpo,EaseInOutExpo,
EaseInCirc,EaseOutCirc,EaseInOutCirc,EaseInElastic,EaseOutElastic,EaseInOutElastic,EaseInBack,EaseOutBack,
EaseInOutBack,EaseInBounce,EaseOutBounce,EaseInOutBounce
}

より具体的なコードと私のオリジナルのブログ実現するために進んでください:使用MPAndroidChartの詳細-アニメーション

フォーティーン、MarkerView

iMarkerマーカを強調実装することができるインタフェースのビューをカスタマイズするだけで継承MarkerViewにクラスを書き、その後、インスタンス化マーカー後、コールグラフ.setMarker()法であってもよいです。
ここでは2つのプリセットIMarkerです

[表示] 使用注釈データの表示ラベルに対応するレイアウトのローディングを可能にする、クラス継承とオーバーライドrefreshContent(...)メソッド
画像を選択 これは、画像に対応する表示画面上のラベルをロードし、そして使用注釈データにクラス継承refreshContent(...)メソッドをオーバーライドすることを可能

より具体的なコードと私のオリジナルのブログを達成するためにスキップ:MPAndroidChartは使用を詳細に--MarkerView

フィフティーン、ChartDataクラスとサブクラスChartData

ChartDataクラスは基底クラス、同様の線データ、BarDataのデータクラス(サブクラス)で、...これらすべての場合。チャートの(...)メソッドをグラフにsetDataメソッドによって使用されます。実際には、サブクラスChartDataの方法により多くの時間が機能要件を満たすことができるだろう、それはあなたのデータモデル図のより良い知識と理解をするためにここにあります。ここでは多くのBBなど、その後、いくつかのメソッドを書き換え、ChartDataを継承するクラスを書くことがない最初の。
より具体的なコードと私のオリジナルのブログ実現するために進んでください:MPAndroidChartは使用を詳細に--ChartDataクラスとサブクラスChartDataを

シックスティーン、データセットDataSetクラスとサブクラス

これらすべての場合のDataSetクラスのカテゴリは...基底クラス、同様のLineDataSet、BarDataSet、すべてのデータセット(サブクラス)です。その基本的な方法とChartData同じ、そう多くはないBB。
より具体的なコードと私のオリジナルのブログ実現するために進んでください:MPAndroidChartは--dataset DataSetクラスとサブクラスを使用して詳細に説明を

セブンティーン、ViewPortHandler(ビューコントローラ)

ViewPortHandlerクラスは、チャートのビューポートを処理する責任があります。それは、グラフビュー、ズームレベル、並びに描画領域のサイズにコンテンツ可視の原因であると現在は、翻訳におけるチャートの現在の状態のすべての側面をオフセットと、この手段。このViewPortHandlerは、上記の属性のすべてに直接アクセスすることができますし、それらを修正します。推奨事項:この点を設定して動作させるために、人間や身近なAPIの一定のレベルを持っている方が良いです、そうでない場合は予期しないエラーがたくさん発生することがあります。
より具体的なコードと私のオリジナルのブログを達成するためにスキップ:MPAndroidChartが使用--ViewPortHandler(ビューコントローラ)詳細

十八、FillFormatインタフェース

FillFormatter LineDataSetインターフェイスは、カスタムデータが描画されるべきではない許す場合(すなわち、スキップ)。あなただけがクラスを作成し、使用するFillFormatterインタフェースを実装する必要があります。非常に単純な実装次いでインターフェイスFillFormat、DataSetオブジェクトとが呼び出すことクラス書き込み.setFillFormatter()パラメータを実現することができる渡す方法。
より具体的なコードと私のオリジナルのブログを達成するためにスキップ:MPAndroidChartはインターフェイス--FillFormat使用を詳細に説明

第九、便利なの雑多なセット

このセクションでは、次のようなその他の方法、のように分類公式である:明確なチャートデータだけでなく、メソッドの一部は、情報のチャートを取得すること、および携帯電話のギャラリーに保存された写真を保存して、その上にグラフ...!いくつかは、それは非常に重要であり、実際の開発は、多くの場合、この方法を使用する必要があります!例はのためclear()のようなグラフ内のすべてのデータ、クリアisEmpty()チャートデータオブジェクトが空であるか否かを判定し、別の例では、saveToGallery(String title)画像としてチャートギャラリ(必要許可)を保存します。
より具体的なコードと私のオリジナルのブログを達成するためにスキップ:MPAndroidChartが使用詳細な-その他の(便利)

XXは、最終的には大きな波のレンダリングを差し出さ

折れ線グラフ
ここに画像を挿入説明
棒グラフ
ここに画像を挿入説明
円グラフ
ここに画像を挿入説明
、レーダー、バブル、散布,,ろうそく、図の組み合わせ。
ここに画像を挿入説明

あなたはそれがあまりにも悪くはなかったと思った場合、最初はスクリーンの前に、万語のブログを破ります。聖歌の時点での励ましのように〜

散歩のポイントのような! ! ! ここに画像を挿入説明
公開された37元の記事 87ウォンの賞賛 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_44720366/article/details/104826813