+++ date = "2020-04-12" tags = ["vue"] title = "vueでapexchartsを使いチャートを作ってみた" slug = "vue" +++ chart.jsが有名みたいで、ちょっと触ってチャートを表示してみたのですが、非常に操作しづらかったので、apexchartsを使ってみました。個人的には、こちらのほうがオススメかも。 ```sh # https://github.com/apexcharts/vue-apexcharts $ yarn add apexcharts vue-apexcharts ``` 今回作ったのは、vue+apexcharts+axiosという構成で、毎日更新されてるぽいcovid-19のjsonがあるのですが、値をとってきてチャートで表示することにしてみました。 https://syui.ai/covid-vue-chart ```sh $ git clone https://github.com/syui/covid-vue-chart $ cd !$:t $ yarn install $ yarn serve ``` ```js:src/main.js import Vue from 'vue' import App from './App.vue' import axios from 'axios' import VueAxios from 'vue-axios' import VueApexCharts from 'vue-apexcharts' Vue.component('apexchart', VueApexCharts) Vue.config.productionTip = false Vue.use(VueAxios, axios, VueApexCharts) new Vue({ render: h => h(App) }).$mount('#app') ``` 内容は非常にシンプルで以下のような書き方になりました。axiosでjsonを取ってきて配列に入れてあげる感じ。あと、type:lineがやりたくてoptionかなあと思ったのですが、vue-apexchartは、htmlで`type="line"`みたいです。 チャートを作成するときは、jsonのkeyやら確認する必要がありますので、`this.items = res.data`して表示してます。これはなくてもいい。 ```html:src/App.vue ``` 注意点としては、gh-pagesは、サブディレクトリになるので、vue.config.jsで`publicPath`を設定してやることです。index.htmlのlink pathが`/`なので。 昨日、マンガのやつでちょっとだけvueを触ったこともあり、vue、楽しかったので、今日もついつい触ってしまいました。