DEV Community

Cover image for Creating a Gauge Chart (Speedometer) in Vue.js Using Vue Speedometer Plugin
Navnit Rai
Navnit Rai

Posted on

Creating a Gauge Chart (Speedometer) in Vue.js Using Vue Speedometer Plugin

Visualizing data in a user-friendly and engaging way is essential for modern web applications. Gauge charts, often referred to as speedometers, are an excellent choice for displaying real-time metrics like performance, usage, or progress. In this blog, we'll explore how to create a gauge chart in Vue 3 using the Vue Speedometer plugin.

Prerequisites

To follow this guide, ensure you have the following:

A basic understanding of Vue 3.

Node.js and npm installed on your system.

A Vue 3 project set up. If not, create one using Vue CLI:

npm init vue@latest
cd your-project-name
npm install

npm i vue-speedometer

<template>


    <v-row>


        <v-col cols="6">
            <v-card class="rounded-1 pa-2">
                <v-row>
                    <v-col cols="12" class="text-center">
                        <VueSpeedometer
                            :value="c_sat.score"
                            :minValue="0"
                            :maxValue="100"
                            :segments="10"

                            :needleColor="'steelblue'"
                            :ringWidth="50"
                            :needleHeightRatio="0.9"
                            :valueTextFontSize="'24px'"
                            :valueTextFontWeight="'bold'"
                            :currentValueText="'C-SAT: ${value}'"
                            :segmentColors="['#FF471A']"
                            :width="260"
                            :height="160"
                        />

                    </v-col>
    </v-row>

</template>

<script>
import VueSpeedometer from 'vue-speedometer';
export default {
    name: 'SummaryStats',
    components: {
        VueSpeedometer
    },
    props: {
        isLoading: {
            type: Boolean,
            default: true
        },
        c_sat: {
            type: Object,
            default: {}
        },


    },
    data() {
        return {

            }

};
</script>


Enter fullscreen mode Exit fullscreen mode

Customization Options

The vue-speedometer plugin offers numerous customization options:

Segments: Divide the gauge into more or fewer sections.

Colors: Customize the start and end colors for a gradient effect.

Needle Configuration: Adjust the needle color, length, and behavior.

Text: Modify the display text for the current value.

Experiment with these options to create a gauge chart that fits your application's needs.

Top comments (0)