概要
vuetify で v-sparkline
を使うと簡単にグラフを描画できます
作業は vue-cli を使って進めます
環境
- macOS 10.15.6
- nodejs 14.5.0
- yarn 1.22.4
- vue cli 4.4.6
- vuetify (vue-cli-plugin-vuetify) 2.0.7
vue プロジェクトの作成
vue create hello-world
エンターでデフォルトの設定で OK です
Formatter がほしい場合は手動で設定から行いましょう
vuetify の追加
cd hello-world
vue add vuetify
vuetify もデフォルト設定で進めて OK です
HelloWorld.vue にグラフを描画
vuetify を追加した際に作成される Vue コンポーネントを再利用します
とりあえずグラフを表示するだけのサンプルを記載します
vim src/components/HelloWorld.vue
<template>
<v-container fluid>
<v-sparkline
:value="value"
:gradient="gradient"
:smooth="radius || false"
:padding="padding"
:line-width="lineWidth"
:stroke-linecap="lineCap"
:gradient-direction="gradientDirection"
:fill="fill"
:type="type"
:auto-line-width="autoLineWidth"
auto-draw
:show-labels="showLabels"
:label-size="labelSize"
></v-sparkline>
</v-container>
</template>
<script>
const gradients = [
["#222"],
["#42b3f4"],
["red", "orange", "yellow"],
["purple", "violet"],
["#00c6ff", "#F0F", "#FF0"],
["#f72047", "#ffd200", "#1feaea"]
];
export default {
data: () => ({
showLabels: false,
lineWidth: 2,
labelSize: 7,
radius: 10,
padding: 8,
lineCap: "round",
gradient: gradients[5],
value: [0, 2, 5, 9, 5, 10, 3, 5, -4, -10, 1, 8, 2, 9, 0],
gradientDirection: "top",
gradients,
fill: false,
type: "trend",
autoLineWidth: false
})
};
</script>
少し解説
v-sparkline
に必要な属性 (value や gradient) などを設定します
サンプルではグラフの描画に必要なそれぞれの属性は script 内の data ですべて宣言しているのでそこの値を調整すればグラフの色や形を好きなように変更できます
重要なのは value
でここにグラフに表示するデータの配列を設定します
その他の属性は見た目に関する属性がほとんどです
showLables や fill を true にしたりするとラバルが追加されたりグラフが色埋めされたりするのが確認できると思います
動作確認
yarn serve
最後に
vuetify の v-sparkline
を使って二次元データを折れ線グラフにしてみました
vuetify では折れ線グラフしか書けないので他のグラフを描画したい場合は vue-charts など他のプラグインを使いましょう
0 件のコメント:
コメントを投稿