目次
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/vue-histogram-slider@0.3.8/dist/histogram-slider.css">
<script src="https://cdn.jsdelivr.net/npm/vue-histogram-slider@0.3.8/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/moment@2.29.1/moment.min.js"></script>
サンプル
今回のソースを実際に触って確認できるようにデモを用意しました。
さいごに
範囲をスライダーで指定することができるヒストグラムコンポーネントライブラリでした。
今日はこの辺でー