MPAndroidChart折れ線グラフを描く



Mpandroidchart Draw Line Chart



1.pandroidchartlibrary-2-0-8.jarパッケージをプロジェクトのライブラリにコピーします

2.xmlファイルを定義します




3.メイン Java ロジックコードは以下の通りで、コメントを追加しました。



[java] プレーンビュー コピー コード 画像
  1. パッケージcom.example.mpandroidlinechart
  2. インポートjava.util.ArrayList
  3. インポートcom.github.mikephil.charting.charts.LineChart
  4. インポートcom.github.mikephil.charting.components.Legend
  5. インポートcom.github.mikephil.charting.components.Legend.LegendForm
  6. インポートcom.github.mikephil.charting.data.Entry
  7. インポートcom.github.mikephil.charting.data.LineData
  8. インポートcom.github.mikephil.charting.data.LineDataSet
  9. インポートandroid.support.v7.app.ActionBarActivity
  10. インポートandroid.graphics.Color
  11. インポートandroid.os.Bundle
  12. 公衆 クラスMainActivity拡張しますActionBarActivity {
  13. 民間折れ線グラフmLineChart
  14. //プライベート書体mTf
  15. @オーバーライド
  16. 保護された ボイドonCreate(Bundle savedInstanceState){
  17. 素晴らしい.onCreate(savedInstanceState)
  18. setContentView(R.layout.activity_main)
  19. mLineChart =(折れ線グラフ)findViewById(R.id.spread_line_chart)
  20. // mTf = Typeface.createFromAsset(getAssets()、 'OpenSans-Bold.ttf')
  21. LineData mLineData = getLineData(36100)。
  22. showChart(mLineChart、mLineData、Color.rgb(114188223))
  23. }
  24. //表示スタイルを設定します
  25. 民間 ボイドshowChart(LineChart lineChart、LineData lineData、int色) {
  26. lineChart.setDrawBorders(false)。//折れ線グラフに境界線を追加するかどうか
  27. //説明テキストなし
  28. lineChart.setDescription('')。//データの説明
  29. //データがない場合は、listviewのemtpyviewと同様に表示されます
  30. lineChart.setNoDataTextDescription(「チャートのデータを提供する必要があります。」)。
  31. //グリッドの背景を有効/無効にします
  32. lineChart.setDrawGridBackground(false)。//テーブルの色を表示するかどうか
  33. lineChart.setGridBackgroundColor(Color.WHITE&0x70FFFFFF)。//テーブルの色、ここでは色の透明度を設定します
  34. //タッチジェスチャを有効にします
  35. lineChart.setTouchEnabled(true)。//タッチできるかどうかを設定します
  36. //スケーリングとドラッグを有効にします
  37. lineChart.setDragEnabled(true)。//ドラッグすることは可能ですか
  38. lineChart.setScaleEnabled(true)。//ズームすることは可能ですか
  39. //無効にすると、スケーリングはx軸とy軸で別々に実行できます
  40. lineChart.setPinchZoom(false)。//
  41. lineChart.setBackgroundColor(color)//背景を設定します
  42. //データを追加します
  43. lineChart.setData(lineData)//設定データ
  44. //凡例を取得します(データを設定した後にのみ可能)
  45. 凡例mLegend = lineChart.getLegend()//スケールアイコンを設定して、それがyのセットの値であることを示します
  46. //凡例を変更します..。
  47. // mLegend.setPosition(LegendPosition.LEFT_OF_CHART)
  48. mLegend.setForm(LegendForm.CIRCLE)// スタイル
  49. mLegend.setFormSize(6f)//フォント
  50. mLegend.setTextColor(Color.WHITE)// 色
  51. // mLegend.setTypeface(mTf)//フォント
  52. lineChart.animateX(2500)。//すぐに実行されるアニメーション、x軸
  53. }
  54. / **
  55. *データを生成する
  56. * @Paramは、チャート内の座標点の数を示します
  57. * @Param rangeは、範囲内の乱数を生成するために使用されます
  58. * @return
  59. * /
  60. 民間LineData getLineData(intカウント、浮く範囲) {
  61. ArrayList xValues =新着配列リスト()
  62. ために((inti =0
  63. // x軸に表示されるデータは、デフォルトでデジタル添え字を使用して表示されます
  64. xValues.add(''+ i)
  65. }
  66. // y軸のデータ
  67. ArrayList yValues =新着配列リスト()
  68. ために((inti =0
  69. 浮く値=(浮く)(Math.random()*範囲)+3
  70. yValues.add(新着エントリ(値、i))
  71. }
  72. //データセットを作成し、タイプを指定します
  73. // y軸でのデータ収集
  74. LineDataSet lineDataSet =新着LineDataSet(yValues、「テスト折れ線グラフ」 / *縮尺図に表示* /)。
  75. // mLineDataSet.setFillAlpha(110)
  76. // mLineDataSet.setFillColor(Color.RED)
  77. // y軸セットを使用してパラメータを設定します
  78. lineDataSet.setLineWidth(1.75f)//線幅
  79. lineDataSet.setCircleSize(3f)//表示される円のサイズ
  80. lineDataSet.setColor(Color.WHITE)//色を表示します
  81. lineDataSet.setCircleColor(Color.WHITE)//円の色
  82. lineDataSet.setHighLightColor(Color.WHITE)//強調表示された線の色
  83. ArrayList lineDataSets =新着配列リスト()
  84. lineDataSets.add(lineDataSet)//データセットを追加します
  85. //データセットを使用してデータオブジェクトを作成します
  86. LineData lineData =新着LineData(xValues、lineDataSets)
  87. 戻るlineData
  88. }
  89. }

効果チャートは次のとおりです。


折れ線グラフには別の表現があります。つまり、線が滑らかで、線とX軸を任意の色で塗りつぶすことができます。実際、それはいくつかの属性設定の問題です。コードは次のとおりです。



上記のgetLineData()関数に独自の設定を追加します。


効果チャートは次のとおりです。


MPAndroidChartで塗りつぶされた折れ線グラフに関するオンライン投稿はほとんどなく、基本的にはありません。これは、JFreeChartなどのインターネット上の他のオープンソースチャートライブラリの検索です...さらに、ソースコードだけを見て、それを要約しました。それが正しいかどうかはわかりませんが、効果は基本的には問題ありません。問題を見つけたら、私を訂正してください!


転載元:http://blog.csdn.net/shineflowers/article/details/44704723学習を続ける~~