目次
vue-histogram-sliderとは
vue-histogram-sliderは、範囲をスライダーで指定することができるヒストグラムコンポーネントライブラリです。
グラフの色付けなどのカスタマイズはもちろん、キーボードによる操作やドラッグによる拡大表示をすることも可能です。
【動画サイズ:273KB】
環境
この記事は、以下の管理人の検証環境にて記事にしています。
| vue.js | 2.6.10 |
| vue-histogram-slider | 0.3.8 |
ライブラリの取得
ライブラリを取得するには、npm, yarn, CDNのどれか一つを使用します。
npm
npm i vue-histogram-slider
yarn
yarn add vue-histogram-slider
CDN
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/histogram-slider.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/histogram-slider.umd.min.js"></script>
gitリポジトリは以下から取得できます。
導入手順
管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、範囲をスライダーで指定することができるヒストグラムを実装します。
step
1ライブラリの呼び出し
まずライブラリを呼び出す為に、以下の2通りのケースで呼び出します。
ES6等で実装する場合
import HistogramSlider from 'vue-histogram-slider'; import 'vue-histogram-slider/dist/histogram-slider.css';
UMDで実装する場合
const HistogramSlider = window['histogram-slider'];
step
2メソッドを設定
今回のサンプル用にヒストグラムのデータをDateListに配列形式で設定します。
DateListには、momentで日付データをforでループしながら設定していきます。
上記で取得した HistogramSliderを componentsに取り込みます。
const DateList = [];
for(let i=120; i>=0; i--)
{
DateList.push(moment().subtract(i, 'M').format());
}
new Vue({
el: '#app',
components: {
HistogramSlider
},
data() {
return {
data: DateList.map(d => new Date(d).valueOf()),
prettify: function(ts) {
return new Date(ts).toLocaleDateString('ja', {
year: 'numeric',
month: 'short',
day: 'numeric'
})
}
}
},
methods: {
finish(val) {
console.log(val)
}
},
mounted() {
setTimeout(() => {
this.$refs.hist.update({ from: this.data[20], to: this.data[69] })
}, 2000)
}
});
step
3テンプレートを準備
<histogram-slider>を配置します。
オプションを使って色を設定したりできます。
サンプルはケバブケースで記載しています。
<div id="app">
<histogram-slider
style="margin: 200px auto"
:width="600"
:bar-height="100"
:data="data"
:prettify="prettify"
:drag-interval="true"
:force-edges="false"
:colors="['#4facfe', '#00f2fe']"
></histogram-slider>
</div>
<!-- デモの日付取得用に使用する -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/moment.min.js"></script>
サンプル
今回のソースを実際に触って確認できるようにデモを用意しました。
See the Pen Vue.jsで範囲スライダー付きのヒストグラムを実装する「vue-histogram-slider」 by カバの樹 (@kabanoki) on CodePen.dark
さいごに
範囲をスライダーで指定することができるヒストグラムコンポーネントライブラリでした。
今日はこの辺でー