【ReactNative】react-native-chart-kitを使ってグラフを実装(貢献度グラフ編)



今回は、ReactNaitveに貢献度グラフを実装する方法について紹介していきます。

1. 概要

1.1 react-native-chart-kitについて

react-native-chart-kit を使うことで、以下の計7種類のグラフを実装することができます

折れ線グラフ
数値が増減しているか、変化の方向を見ることができるグラフ
折れ線グラフ編  ←こちらの記事で解説

ベジェ折れ線グラフ
折れ線グラフの線が滑らかになったグラフ
折れ線グラフ編  ←こちらの記事で解説

円グラフ
全体の中での構成比を表す
円グラフ編  ←こちらの記事で解説

プログレスリング
割合を表示
プログレスリンググラフ編  ←こちらの記事で解説

棒グラフ
棒の高さで、数値の大小を比較することが可能
棒グラフ編  ←こちらの記事で解説

積み上げチャート
2つ以上の棒が組み合わさった棒グラフ。よく、累計を出す時に使う。
積み上げ線グラフ編  ←こちらの記事で解説

貢献度グラフ(ヒートマップ)  ←本記事で解説
・日毎のデータ件数を集計
・回数(件数)に応じて色を決める。(基本的に回数(件数)が多いほど色が濃い)
・このデータを見ることで、過去どれだけ活動したのか可視化することができる。
・実際にGitHubでも活動記録として使われている。


以上のグラフをreact-native-chart-kitライブラリを使うことで表示させることができます。

本記事では、「貢献度グラフ(ヒートマップ)」について実装していきます。

React Native Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~

新品価格
¥4,268から
(2020/7/27 08:59時点)

2. パッケージのインストール

以下のコマンドを実行して、chart-kitライブラリをインストールします。


また、プロジェクト起動後に「react-native-svg」もインストールしてください。と言われるので、先に以下のコマンドを実行してインストールします。

npm install –save react-native-svg

3. 貢献度グラフ

3.1 コンポーネントのインポート

3.2 基本的な使い方(実装方法)

主に以下の3点を設定する必要があります。

data
名前 説明
date 日付
count データ(数値)


chartConfing
名前 説明
backgroundGradientFrom 背景の線形グラデーションの最初の色
backgroundGradientFromOpacity 背景の線形グラデーションの最初の色の不透明度
0(透明)〜1(不透明)の値で表す。0の時は、無色。
backgroundGradientTo 背景の線形グラデーションの2番目の色を定義
backgroundGradientToOpacity 背景の線形グラデーションの2番目の色の不透明度
0(透明)〜1(不透明)の値で表す。0の時は、無色。
color 数値、ラベルの色。ただし、色はdataの色設定の方が優先される。


LineChartコンポーネント
名前 説明
values グラフに表示されるデータ
chartConfig グラフの構成/デザイン
width グラフ全体の横幅
height グラフ全体の高さ
endDate 設定した日付までをグラフとして表示
numDays 設定した数の日付を表示
gutterSize チャート内の正方形間の溝のサイズ
squareSize チャート内の正方形1つのサイズ
onDayPress チャート内の正方形を押した時に発生するイベント


3.3 サンプルコード

react-native-chart-kit を参考に作成


結果


4. 参考

react-native-chart-kit

5. まとめ

今回は、「貢献度グラフ」について実装しました。
実際にGitHubでも使われているグラフであるので、いまいちこのグラフのイメージがついていない人は、一度GitHubを見てみるといいかもですね。
以下に「折れ線グラフ」と「棒グラフ」と「円グラフ」についての記事のリンクも貼っておきます。