🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

Q&A

解決済

1回答

856閲覧

Nuxt.js + Firebase を用いて、得意科目・苦手科目が直感的に理解できるレーダーチャートを作成したい。

toshihirokato

総合スコア20

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

0グッド

1クリップ

投稿2019/12/15 09:41

編集2019/12/27 19:10

前提・実現したいこと

現在、私は中学生の家庭教師をしており、生徒の得意な科目と不得意な科目を直感的に理解できるレーダーチャートを、
Vue.js, Nuxt.js, vue-chartjs, chart.js, vuetify, Firebase を用いて開発しております。

具体的には、vuetify で作成したコンポーネントフォームで点数の高い科目・その点数を順に入力したら、最も得点の高い科目を最上部に表示して、そのまま高い科目を順に時計回りに五角形で表示させたいです。

発生している問題・エラーメッセージ

①科目を入力するフォームの作成と、②レーダーチャートのサンプルは作成できたのですが、①と②を繋ぎ合わせるロジックが調べてもわからなかったため、オススメのサイト等ございましたら教えていただきたいです。

該当のソースコード

Nuxtjs

1<template> 2 <v-app id="app"> 3 <v-row justify="center"> 4 <v-dialog v-model="dialog" persistent max-width="600px"> 5 <template v-slot:activator="{ on }"> 6 <v-btn color="primary" dark v-on="on"> 7 科目を入力してください。 8 </v-btn> 9 </template> 10 <v-card> 11 <v-card-title> 12 <span class="headline">科目</span> 13 </v-card-title> 14 <v-card-text> 15 <v-container> 16 <v-row> 17 <v-col cols="12" sm="8"> 18 <v-select :items="[ '国語', '数学', '英語', '社会', '理科' ]" label="1番目に得点の高い科目を選択してね。" multiple /> 19 </v-col> 20 <v-col cols="12" sm="8"> 21 <v-select :items="[ '国語', '数学', '英語', '社会', '理科' ]" label="2番目に得点の高い科目を選択してね。" multiple /> 22 </v-col> 23 <v-col cols="12" sm="8"> 24 <v-select :items="[ '国語', '数学', '英語', '社会', '理科' ]" label="3番目に得点の高い科目を選択してね。" multiple /> 25 </v-col> 26 <v-col cols="12" sm="8"> 27 <v-select :items="[ '国語', '数学', '英語', '社会', '理科' ]" label="4番目に得点の高い科目を選択してね。" multiple /> 28 </v-col> 29 <v-col cols="12" sm="8"> 30 <v-select :items="[ '国語', '数学', '英語', '社会', '理科' ]" label="5番目に得点の高い科目を選択してね。" multiple /> 31 </v-col> 32 </v-row> 33 </v-container> 34 <small>*入力必須項目です。</small> 35 </v-card-text> 36 <v-card-actions> 37 <v-spacer /> 38 <v-btn color="blue darken-1" text @click="dialog = false"> 39 Close 40 </v-btn> 41 <v-btn color="blue darken-1" text @click="dialog = false"> 42 Save 43 </v-btn> 44 </v-card-actions> 45 </v-card> 46 </v-dialog> 47 </v-row> 48 </v-app> 49</template> 50 51<script> 52export default { 53 data: () => ({ 54 dialog: false 55 }) 56} 57</script> 58

該当のソースコード

参考にしたサイト

Chartjs について
vue-chartjs, RadarChart について
Nuxt.js + Chartjs について
ApexCharts について

補足情報

packagejson

1{ 2 "name": "", 3 "version": "1.0.0", 4 "description": "My epic Nuxt.js project", 5 "author": "toshihirokato", 6 "private": true, 7 "scripts": { 8 "dev": "nuxt", 9 "build": "nuxt build", 10 "start": "nuxt start", 11 "generate": "nuxt generate", 12 "lint": "eslint --ext .js,.vue --ignore-path .gitignore ." 13 }, 14 "dependencies": { 15 "@nuxtjs/axios": "^5.8.0", 16 "chart.js": "^2.9.3", 17 "firebase": "^7.5.2", 18 "nuxt": "^2.10.2", 19 "vue-chartjs": "^3.5.0" 20 }, 21 "devDependencies": { 22 "@nuxtjs/eslint-config": "^2.0.0", 23 "@nuxtjs/eslint-module": "^1.1.0", 24 "@nuxtjs/vuetify": "^1.9.1", 25 "babel-eslint": "^10.0.3", 26 "eslint": "^6.7.2", 27 "eslint-plugin-nuxt": ">=0.5.0" 28 } 29} 30

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

こちらのサイトを参考に作成していたら、それっぽいものができてきたので、自己解決とします。

他のオススメのサイト等ございましたら、共有していただけますと幸いです。

よろしくお願いします。

投稿2019/12/18 06:27

toshihirokato

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問