Vue Data UI Components Library

3.17.13 · active · verified Sun Apr 19

Vue-Data-UI is a comprehensive data visualization library providing a rich collection of user-empowering Vue 3 components for data storytelling. Currently at version 3.17.13, the library demonstrates an active development cadence with frequent patch releases addressing bug fixes, performance improvements, and the addition of new configuration options and components. It differentiates itself through a wide array of specialized chart types, including unique visualizations like Age Pyramids, Candlesticks, Chord diagrams, and various tree/network representations, catering to diverse data analysis needs. Its focus is on providing interactive, configurable components designed to facilitate eloquent data storytelling within Vue 3 applications, shipping with full TypeScript type definitions to enhance developer experience.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to import and render a VueUiScatter component with a basic dataset and configuration in a Vue 3 application, including TypeScript types.

<script setup lang="ts">
import { ref, computed } from 'vue';
import { VueUiScatter } from 'vue-data-ui';
import type { ChartConfig, ChartDataset } from 'vue-data-ui'; // Import types for better DX

const dataset = ref<ChartDataset['VueUiScatter']>([ // Dataset type example
  { name: 'Category A', series: [{ name: 'Item 1', value: 10, x: 1, y: 5 }, { name: 'Item 2', value: 15, x: 2, y: 7 }] },
  { name: 'Category B', series: [{ name: 'Item 3', value: 20, x: 3, y: 12 }, { name: 'Item 4', value: 25, x: 4, y: 10 }] }
]);

const config = computed<ChartConfig['VueUiScatter']>(() => ({
  style: {
    chart: {
      backgroundColor: 'transparent'
    },
    layout: {
      plots: {
        hoverRadiusRatio: 2,
        opacityNotSelected: 0.6
      }
    },
    legend: {
      show: true
    }
  },
  title: {
    text: 'My Scatter Plot',
    fontFamily: 'Inter',
    fontSize: 18,
    color: '#333'
  },
  zoomEnabled: true
}));
</script>

<template>
  <div style="width: 100%; height: 500px;">
    <VueUiScatter :dataset="dataset" :config="config" />
  </div>
</template>

view raw JSON →