• Demos
    • JavaScript Charts
    • JavaScript StockCharts
  • Download/NPM
    • Download CanvasJS
    • Install via NPM
  • Integrations
    Front End Technology Samples
    • React Charts
    • Angular Charts
    • Vue.js Charts New!
    • jQuery Charts
    • Dashboards
    Server Side Technology Samples
    • PHP Charts
    • Python Charts New!
    • ASP.NET MVC Charts
    • Spring MVC Charts
    • JSP Charts
  • License
  • Blog
  • Docs
    • Chart Documentation
    • StockChart Documentation
  • Support Forum
    • Chart Support
    • StockChart Support
  • My Account
My Account
  • KEY FEATURES
    • Basic Chart
    • Chart with Animation
    • Chart with Zooming/Panning
    • Multi Series Chart
    • Chart with Multiple Axes
    • Chart with Logarithmic Axis
    • Chart with JSON Data
    • Dynamic Chart
    • Drilldown Chart
    • Responsive Chart
    • Synchronized Charts
  • LINE CHARTS
    • Line Chart
    • Dashed Line Chart
    • Multi Series Line Chart
    • Spline Chart
    • Multi Series Spline Chart
    • Step Line Chart
    • Multi Series Step Line Chart
  • BAR CHARTS
    • Bar Chart with Category Axis
    • Multi Series Bar Chart
    • Stacked Bar Chart
    • Stacked Bar 100% Chart
  • COLUMN CHARTS
    • Column Chart with Category Axis
    • Column Chart in Dark Theme
    • Multi Series Column Chart
    • Stacked Column Chart
    • Stacked Column 100% Chart
    • Stacked Column 100% Chart with IndexLabel
  • PIE & DOUGHNUT CHARTS
    • Pie Chart
    • Doughnut Chart
    • Doughnut Chart in Dark Theme
  • AREA CHARTS
    • Area Chart with Category Axis
    • Multi Series Area Chart
    • Spline Area Chart
    • Multi Series Spline Area Chart
    • Step Area Chart
    • Stacked Area Chart
    • Stacked Area 100% Chart
  • RANGE CHARTS
    • Range Column Chart
    • Multi Series Range Column Chart
    • Range Bar Chart
    • Multi Series Range Bar Chart
    • Range Area Chart
    • Multi Series Range Area Chart
    • Range Spline Area Chart
    • Multi Series Range Spline Area Chart
  • BUBBLE & SCATTER CHARTS
    • Bubble Chart with 3-Dimensional Data
    • Bubble Chart in Dark Theme
    • Scatter Chart
  • FUNNEL & PYRAMID CHARTS
    • Funnel Chart with Index Labels
    • Funnel Chart with Custom Neck Length
    • Pyramid Chart
  • FINANCIAL CHARTS
    • Candlestick Chart
    • Multi Series Candlestick Chart
    • OHLC Chart
    • OHLC Chart from JSON Data
    • Box & Whisker Chart
    • Waterfall Chart
  • COMBINATION CHARTS
    • Pareto Chart
    • Error Line Chart
    • Combination of Range Area & Line Chart
    • Combination of Candlestick & Line chart
  • DYNAMIC CHARTS
    • Dynamic Line Chart
    • Dynamic Column Chart
    • Dynamic Multi Series Chart
  • STOCKCHARTS
    • StockChart with Numeric Axis
    • StockChart with Date-Time Axis
    • StockChart with Navigator & Range Selector
  • JAVASCRIPT, JQUERY, REACT, ANGULAR
    • JavaScript Charts
    • jQuery Charts
    • React Charts
    • Angular Charts
  • SERVER SIDE TECHNOLOGIES
    • ASP.NET MVC Charts
    • JSP Charts
    • PHP Charts
    • Python Charts
    • Spring MVC Charts

Vue.js Stacked Area Chart

Download Vue.js Chart Samples
  • Vue.js Chart Samples
  • JavaScript Chart Samples
  • React Chart Samples
  • Angular Chart Samples
  • jQuery Chart Samples
  • PHP Chart Samples
  • Python Django Chart Samples
  • ASP.NET Chart Samples
  • JSP Chart Samples
  • Spring MVC Chart Samples
  • Dashboard Samples
  • JavaScript StockChart Samples

Example shows Vuejs Stacked Area Chart with shared tooltip to show information of all the datapoints having common x value.

  • Component
  • Main
/* App.vue */
<script>
  
  export default {
    data() {
      return {
        options: {
          theme: "light2",
          exportEnabled: true,
          title: {
            text: "Sales Order Analysis"
          },
          axisX: {
            valueFormatString: "MMM",
            interval: 1, 
            intervalType: "month"
          },
          axisY: {
            title: "Units Sold"
          },
          toolTip: {
            shared: true
          },
          legend: {
            cursor: "pointer",
            itemclick: function (e) {
              if (typeof (e.dataSeries.visible) === "undefined" || e.dataSeries.visible) {
              e.dataSeries.visible = false;
              } else {
              e.dataSeries.visible = true;
              }
              e.chart.render();
            }
          },
          data: [{
            type: "stackedArea",
            name: "Smart TV",
            color: "#0D47A1",
            showInLegend: "true",
            xValueFormatString: "MMM YYYY",
            toolTipContent: "{x}<br/><b><span style='\"'color: {color};'\"'>{name}</span></b>: {y}",
            dataPoints: [
              { x: new Date(2021, 0, 1), y: 20},
              { x: new Date(2021, 1, 1), y: 40},
              { x: new Date(2021, 2, 1), y: 60},
              { x: new Date(2021, 3, 1), y: 50},
              { x: new Date(2021, 4, 1), y: 55},
              { x: new Date(2021, 5, 1), y: 65},
              { x: new Date(2021, 6, 1), y: 69},
              { x: new Date(2021, 7, 1), y: 75},
              { x: new Date(2021, 8, 1), y: 120},
              { x: new Date(2021, 9, 1), y: 90},
              { x: new Date(2021, 10, 1), y: 95},
              { x: new Date(2021, 11, 1), y: 110}
            ]
          },
          {
            type: "stackedArea",
            name: "Mobile",
            color: "#1976D2",
            showInLegend: "true",
            toolTipContent: "<b><span style='\"'color: {color};'\"'>{name}</span></b>: {y}",
            dataPoints: [
              { x: new Date(2021, 0, 1), y: 55},
              { x: new Date(2021, 1, 1), y: 75},
              { x: new Date(2021, 2, 1), y: 83},
              { x: new Date(2021, 3, 1), y: 95},
              { x: new Date(2021, 4, 1), y: 90},
              { x: new Date(2021, 5, 1), y: 95},
              { x: new Date(2021, 6, 1), y: 110},
              { x: new Date(2021, 7, 1), y: 114},
              { x: new Date(2021, 8, 1), y: 170},
              { x: new Date(2021, 9, 1), y: 150},
              { x: new Date(2021, 10, 1), y: 155},
              { x: new Date(2021, 11, 1), y: 210}
            ]
          },
          {
            type: "stackedArea",
            name: "Tablet",
            color: "#2196F3",
            showInLegend: "true",
            toolTipContent: "<b><span style='\"'color: {color};'\"'>{name}</span></b>: {y}",
            dataPoints: [
              { x: new Date(2021, 0, 1), y: 30},
              { x: new Date(2021, 1, 1), y: 45},
              { x: new Date(2021, 2, 1), y: 70},
              { x: new Date(2021, 3, 1), y: 60},
              { x: new Date(2021, 4, 1), y: 65},
              { x: new Date(2021, 5, 1), y: 70},
              { x: new Date(2021, 6, 1), y: 78},
              { x: new Date(2021, 7, 1), y: 80},
              { x: new Date(2021, 8, 1), y: 95},
              { x: new Date(2021, 9, 1), y: 92},
              { x: new Date(2021, 10, 1), y: 97},
              { x: new Date(2021, 11, 1), y: 120}
            ]
          }]
        },
        styleOptions: {
          width: "100%",
          height: "360px"
        }
      }
    }
  }
</script>
  
<template>
    <CanvasJSChart :options="options" :style="styleOptions" />
</template>                              
/*main.js*/
import { createApp } from 'vue'
import App from './App.vue'

import CanvasJSChart from '@canvasjs/vue-charts';

const app = createApp(App);
app.use(CanvasJSChart); // install the CanvasJS Vuejs Chart Plugin
app.mount('#app');                        

Chart Customizations

You can customize the content tooltip for each dataseries using toolTipContent property. Format x-values and y-values in tooltip and index label using xValueFormatString and yValueFormatString.

Note   For step by step instructions, follow our Vuejs Integration Tutorial

Quick Links

  • Chart Docs
  • StockChart Docs
  • About Us
  • FAQs

Server Side Technologies

  • ASP.NET MVC Charts
  • PHP Charts
  • JSP Charts
  • Spring MVC Charts

Front Side Technologies

  • JavaScript Charts
  • jQuery Charts
  • React Charts
  • Angular Charts
  • JavaScript StockCharts

Contact

  • Fenopix, Inc.
  • 2093 Philadelphia Pike,
  • #5678, Claymont,
  • Delaware 19703
  • United States Of America

©2025 Fenopix Privacy Policy Cookies Policy Careers