mirror of
				https://github.com/KevinMidboe/vue-chartjs.git
				synced 2025-10-29 18:00:20 +00:00 
			
		
		
		
	translated README.md into Japanese
This commit is contained in:
		
							
								
								
									
										318
									
								
								docs/ja/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										318
									
								
								docs/ja/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,318 @@ | ||||
| --- | ||||
| search: ja | ||||
| --- | ||||
|  | ||||
| # vue-chartjs | ||||
| **vue-chartjs** は [Chart.js](https://github.com/chartjs/Chart.js) をvueで使用するためのラッパーです。 再利用可能なチャートコンポーネントを簡単に作成できます。 | ||||
|  | ||||
| ## イントロ | ||||
| `vue-chartjs` vueの中であまり面倒なくchart.jsを使うことができます。 シンプルなチャートをできるだけ早く実行したいという人に最適です。 | ||||
|  | ||||
| chart.jsの基本ロジックを抽象化していますが、公開されたchart.jsのオブジェクト使用して柔軟にカスタマイズできます。 | ||||
|  | ||||
| ## インストール | ||||
| Vue.jsの Version2以上を使用している場合は簡単にインストールできます。: | ||||
|  | ||||
| `yarn add vue-chartjs` | ||||
|  | ||||
| Vue.jsの Version 1.xを使用している場合は`legacy`タグを使用してください。しかし、vueのバージョン1はもうメンテナンスされません。 | ||||
|  | ||||
| `yarn add vue-chartjs@legacy` | ||||
|  | ||||
| ## クイックスタート | ||||
|  | ||||
| BaseChartをインポートしてextendします。 | ||||
|  | ||||
| 異なるデータのチャートを表示するときに柔軟性が大幅に向上します。 | ||||
| コンポーネントをカプセル化し、プロパティをコンポーネントのデータに渡したり、コンポーネント内に直接データを記述することができます。ただし直接データを記述した場合はコンポーネントの再利用ができません。 | ||||
|  | ||||
| パッケージ全体またはモジュールごとに個別にインポートすることができます。 | ||||
|  | ||||
| ```javascript | ||||
| // CommitChart.js | ||||
| import { Bar } from 'vue-chartjs' | ||||
|  | ||||
| export default Bar.extend({ | ||||
|   mounted () { | ||||
|     // Overwriting base render method with actual data. | ||||
|     this.renderChart(data, options) | ||||
|   } | ||||
| }) | ||||
| ``` | ||||
|  | ||||
| renderChart()メソッドに2つの引数を渡すことができます: | ||||
|  | ||||
| - Data object | ||||
| - Options object | ||||
|  | ||||
| ### データオブジェクト | ||||
|  | ||||
| データオブジェクトは、次のようになります。: | ||||
|  | ||||
| ```javascript | ||||
| { | ||||
|   labels: ['January', 'February'], | ||||
|   datasets: [ | ||||
|     { | ||||
|       label: 'GitHub Commits', | ||||
|       backgroundColor: '#f87979', | ||||
|       data: [40, 20] | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| ``` | ||||
|  | ||||
| 詳細については、[Chart.js](http://www.chartjs.org/docs/#chart-configuration-chart-data) のドキュメントをご覧ください。 | ||||
| ## プロパティ | ||||
|  | ||||
| BaseChartsには基本プロパティがいくつか定義されています。 extendされたときにそれらは明示的に表示されていませんが、使用するときに上書きして設定することができます。 | ||||
|  | ||||
| | プロパティ | 説明 | | ||||
| |---|---| | ||||
| | width | chartの表示幅 | | ||||
| | height | chartの表示高さ | | ||||
| | chart-id | canvas要素のid | | ||||
|  | ||||
|  | ||||
| ## 実装例 | ||||
|  | ||||
| いくつか例を記載します。 | ||||
|  | ||||
| ### プロパティの利用 | ||||
|  | ||||
| dataとoptionsプロパティを作成して、チャートにデータを渡すことが出来ます。 | ||||
|  | ||||
| ```javascript | ||||
| // LineChart.js | ||||
| import { Line } from 'vue-chartjs' | ||||
|  | ||||
| export default Line.extend({ | ||||
|   props: ['data', 'options'], | ||||
|   mounted () { | ||||
|     this.renderChart(this.data, this.options) | ||||
|   } | ||||
| }) | ||||
| ``` | ||||
|  | ||||
| コンポーネントに追加して、使用することができます。 | ||||
|  | ||||
| ```html | ||||
|  <line-chart :data="{your data object}" :options="{your options}"></line-chart> | ||||
| ``` | ||||
|  | ||||
| 幅と高さを上書きする場合: | ||||
|  | ||||
| ```html | ||||
|  <line-chart | ||||
|   :data="{your data object}" | ||||
|   :options="{responsive: false, maintainAspectRatio: false}" | ||||
|   :width="400" | ||||
|   :height="200" | ||||
|   > | ||||
|  </line-chart> | ||||
| ``` | ||||
|  | ||||
| <p class="warning"> | ||||
| `width` と `height` を反映させるためには、 `responsive:false` を設定しなければならないことに注意してください。 | ||||
| </p> | ||||
|  | ||||
| ### コンポーネント内のローカルデータを使用する場合 | ||||
|  | ||||
| ```javascript | ||||
| import {Bar} from 'vue-chartjs' | ||||
|  | ||||
| export default Bar.extend({ | ||||
|   data () { | ||||
|     return { | ||||
|       datacollection: { | ||||
|         labels: ['January', 'February'], | ||||
|         datasets: [ | ||||
|           { | ||||
|             label: 'Data One', | ||||
|             backgroundColor: '#f87979', | ||||
|             data: [40, 20] | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   mounted () { | ||||
|     this.renderChart(this.datacollection, {responsive: true, maintainAspectRatio: false}) | ||||
|   } | ||||
| }) | ||||
| ``` | ||||
|  | ||||
| ### コンポーネントの再利用 | ||||
|  | ||||
| チャートコンポーネントを再利用可能にしたい場合は、ラッパーを使用することをお勧めします。このようにすると、チャートコンポーネントはデータ表示とロジックを含むラッパーコンポーネントに対してのみ応答可能です。単一ページアプリケーションを実行している場合や、laravelで統合されている場合は、異なった方法があります。 | ||||
|  | ||||
|  | ||||
| ## リアクティブデータ | ||||
|  | ||||
| Chart.js はデータセットを変更したときのライブアップデートを提供していません。`vue-chartjs` ではこれを実現するために2つのミックスインを提供します。 | ||||
|  | ||||
| - `reactiveProp` | ||||
| - `reactiveData` | ||||
|  | ||||
| この2つのミックスインは実際には同じものです。 ほとんどの場合 `reactiveProp` を使用します。これはチャートコンポーネントのロジックを拡張し、自動的に `chartData` という名前のプロパティを追加し、さらにこのプロパティに対して `vue watch` を追加します。 データの更新に対して、データセット内のデータのみが変更されたときには `update()` を呼び出し、新しいデータセットが追加された場合は `renderChart()` が呼び出されます。 | ||||
|  | ||||
| `reactiveData` は単純に(プロパティではない!!)ローカルの chartData 変数を追加し、ウォッチャーを追加します。 | ||||
| 単一の目的のチャートのみ必要でチャートコンポーネント内でAPI呼び出しを行うときのみ有用です。 | ||||
|  | ||||
| ```javascript | ||||
| data () { | ||||
|   return { | ||||
|     chartData: null | ||||
|   } | ||||
| } | ||||
| ``` | ||||
|  | ||||
| ### 例 | ||||
|  | ||||
| **LineChart.js** | ||||
| ```javascript | ||||
| import { Line, mixins } from 'vue-chartjs' | ||||
| const { reactiveProp } = mixins | ||||
|  | ||||
| export default Line.extend({ | ||||
|   mixins: [reactiveProp], | ||||
|   props: ['options'], | ||||
|   mounted () { | ||||
|     // this.chartData is created in the mixin | ||||
|     this.renderChart(this.chartData, this.options) | ||||
|   } | ||||
| }) | ||||
| ``` | ||||
|  | ||||
| **RandomChart.vue** | ||||
|  | ||||
| ```javascript | ||||
| <template> | ||||
|   <div class="small"> | ||||
|     <line-chart :chart-data="datacollection"></line-chart> | ||||
|     <button @click="fillData()">Randomize</button> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
|   import LineChart from './LineChart.js' | ||||
|  | ||||
|   export default { | ||||
|     components: { | ||||
|       LineChart | ||||
|     }, | ||||
|     data () { | ||||
|       return { | ||||
|         datacollection: null | ||||
|       } | ||||
|     }, | ||||
|     mounted () { | ||||
|       this.fillData() | ||||
|     }, | ||||
|     methods: { | ||||
|       fillData () { | ||||
|         this.datacollection = { | ||||
|           labels: [this.getRandomInt(), this.getRandomInt()], | ||||
|           datasets: [ | ||||
|             { | ||||
|               label: 'Data One', | ||||
|               backgroundColor: '#f87979', | ||||
|               data: [this.getRandomInt(), this.getRandomInt()] | ||||
|             }, { | ||||
|               label: 'Data One', | ||||
|               backgroundColor: '#f87979', | ||||
|               data: [this.getRandomInt(), this.getRandomInt()] | ||||
|             } | ||||
|           ] | ||||
|         } | ||||
|       }, | ||||
|       getRandomInt () { | ||||
|         return Math.floor(Math.random() * (50 - 5 + 1)) + 5 | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| </script> | ||||
|  | ||||
| <style> | ||||
|   .small { | ||||
|     max-width: 600px; | ||||
|     margin:  150px auto; | ||||
|   } | ||||
| </style> | ||||
| ``` | ||||
|  | ||||
| <p class="warning"> | ||||
|   ⚠ 注意:親コンポーネントでデータを変更し、それを子チャートコンポーネントに渡す場合は、JavaScriptの制限事項に注意してください。 | ||||
|   この問題の詳細 [issue#44](https://github.com/apertureless/vue-chartjs/issues/44) | ||||
| </p> | ||||
|  | ||||
| ### 制限事項 | ||||
|   <ul> | ||||
|     <li>[注意事項](https://jp.vuejs.org/v2/guide/list.html#注意事項)</li> | ||||
|     <li>[変更検出の注意事項](https://jp.vuejs.org/v2/guide/reactivity.html#変更検出の注意事項)</li> | ||||
|     <li>[vm.$watch](https://jp.vuejs.org/v2/api/#vm-watch)</li> | ||||
|   </ul> | ||||
|  | ||||
| ## Chart.js オブジェクト | ||||
|  | ||||
| 場合によっては、chart.jsをより詳細に制御する必要があります。Chart.jsインスタンスには `this._chart` を使ってアクセスします。 | ||||
|  | ||||
| ## 利用可能なグラフ | ||||
|  | ||||
| ### 棒グラフ | ||||
| <p class="tip"> | ||||
|   棒グラフには `{Bar}` と `{HorizontalBar}` の2つのバージョンがあります。 | ||||
| </p> | ||||
|  | ||||
|  | ||||
| ### 折れ線グラフ | ||||
|  | ||||
|  | ||||
|  | ||||
| ### ドーナツチャート | ||||
|  | ||||
|  | ||||
|  | ||||
| ### パイチャート | ||||
|  | ||||
|  | ||||
|  | ||||
| ### レーダーチャート | ||||
|  | ||||
|  | ||||
|  | ||||
| ### 鶏頭図 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### バブルチャート | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ## ビルド方法の違い | ||||
| あなたが使用するビルドツールに依存した3つの異なるエントリーポイントがあります。 依存するライブラリは一緒にバンドルされているか、または peerDependency として指定します。 | ||||
|  | ||||
| - Browser | ||||
| - Browserify / Webpack 1 | ||||
| - Webpack 2 | ||||
|  | ||||
|  | ||||
| | Build | Chart.js | Vue.js | | ||||
| |---|---|---| | ||||
| | vue-chartjs.full.js | Bundled | Bundled | | ||||
| | vue-chartjs.full.min.js |  Bundled | Bundled  | | ||||
| | vue-chartjs.js | peerDependency | peerDependency  | | ||||
| | vue-chartjs.min.js | peerDependency  | peerDependency  | | ||||
| | es/index* |  peerDependency | peerDependency  | | ||||
|  | ||||
| ### ブラウザー | ||||
| `vue-chartjs` をビルドツールを使用せず直接ブラウザー内で使用します。 例 [codepen](https://codepen.io/apertureless/pen/vxWbqB?editors=1010) このケースでは縮小版の `vue-chartjs.full.min.js` を使用します。これにはVue.js と Chart.js が 含まれていて、UMD Module として定義されています。従ってあなたはただ一つのファイルしか必要としません。 | ||||
|  | ||||
| ### Browserify / Webpack 1 | ||||
| Gulp、BrowserifyまたはWebpackのバージョン1を使用している場合は、__トランスパイル__ され UMD Moduleとして __バンドル__ された `vue-chartjs.js` を使用します。 | ||||
|  | ||||
| Vue.jsとChart.jsは `peerDependencies` なので別にインストールする必要があります。ほとんどのプロジェクトでは、Vue.jsはすでにインストールされているでしょう。この方法では、このパッケージと異なるバージョンのVue.jsとChart.jsを持つことができます。 | ||||
|  | ||||
| ### Webpack 2 | ||||
| Webpack 2を使用している場合、 `jsnext:main` または `module` に`es/index.js` を指定します。 ソースファイルは __トランスパイル__ されます。またmoduleには __バンドル__ されません。このようにすると `tree shaking` が動作します。バンドル版のように、`peerDependencies` で指定された `Vue.js` と `Chart.js` はインストールする必要があります。 | ||||
		Reference in New Issue
	
	Block a user