vue-data-ui is a free, open source business intelligence & reporting project written in Vue and released under MIT. It has 2,448 GitHub stars, 129 forks and 0 open issues, and was last pushed 6 hours ago. On this registry it ranks #45 of 77 tracked projects in Business Intelligence & Reporting, with 5 head-to-head comparisons available.

What is vue-data-ui?

vue-data-ui is an open source, MIT-licensed Vue 3 component library for data visualization and data storytelling, built for Vue and Nuxt developers who need to render charts, gauges, tables and dashboard widgets without writing each one from scratch.

What it is

vue-data-ui is a component library published to npm as vue-data-ui and developed in the open at graphieros/vue-data-ui. It belongs to the Vue 3 ecosystem, and its documentation site states that it offers 69 components, most of them charts. Everything is written in Vue and distributed under the MIT licence, with 2,448 stars and 129 forks on GitHub at the time of writing. A companion repository, vue-data-ui-doc, holds the interactive documentation, and the same documentation is deployed at https://vue-data-ui.graphieros.com/.

The concrete problem it solves is fragmentation. A team building a reporting screen in Vue normally has to either hand-write SVG components for each visual or pull in several single-purpose chart packages that do not share styling, props or theming. vue-data-ui replaces that assembly work with one dependency that covers standard chart types and less common ones side by side, so a dashboard can mix a VueUiXy line chart, a VueUiHeatmap and a VueUiGauge without reconciling three APIs.

Key capabilities

  • One npm package supplies the whole component set, with every component documented on the deployed documentation site.
  • Chart coverage spans common families and unusual ones: VueUiXy, VueUiDonut, VueUiRadar, VueUiScatter, VueUiHeatmap, VueUiTreemap, VueUiQuadrant, VueUiGauge, VueUiStackbar, VueUiHorizontalBar, and also VueUiChord, VueUiCirclePack, VueUiRidgeline, VueUiParallelCoordinatePlot, VueUiWordCloud and VueUiAgePyramid.
  • Chart variants cover relational and comparative displays such as VueUiNestedDonuts, VueUiDonutEvolution, VueUiRelationCircle, VueUiMoodRadar, VueUiDumbbell and VueUiStripPlot.
  • Small-format and KPI parts are included, including sparkline, rating-stars, thermometer, tiremarks and wheel, alongside VueUiQuickChart.
  • A table component is provided for tabular data, and a skeleton-loader topic indicates loading placeholders for pending data.
  • A screenshot topic indicates that visualizations can be captured as images, which suits reports and exported dashboards.
  • Components are Vue 3 first and carry a Nuxt badge, so they fit both plain Vue 3 applications and Nuxt projects.

Who uses it and how

  • Product teams building internal dashboards use it to compose a page from several chart components rather than maintaining a private chart toolkit.
  • Analytics and reporting interfaces in the Data and Analytics category use the table component and chart components together to show figures and their visual context on one screen.
  • Teams that need to hand a chart to a stakeholder as an image use the screenshot capability instead of asking recipients to open a live dashboard.
  • Applications that load data asynchronously use the skeleton-loader support to hold layout while requests resolve.
  • Vue and Nuxt developers evaluating a single dependency use the hosted documentation to preview each component before installing anything.

Getting started

Install the package as vue-data-ui from npm and import the components needed, or browse every component on the deployed documentation site at https://vue-data-ui.graphieros.com/ and in the vue-data-ui-doc repository.

How it compares

No comparable tools are named in the facts available for this entry, so vue-data-ui stands alone in this registry. It is not contrasted here with any paid product, because no such list was supplied.

When to use it — and when not to

This is a client-side component library, so there is no database, object storage or SMTP service to operate; the work is limited to installing the package and wiring props to your own data. Do not choose it if your application is not built on Vue 3 or Nuxt, since the components are Vue components rather than framework-agnostic wrappers. The available README excerpt is largely a component inventory and gives little setup detail, so teams with unusual SSR or build constraints should confirm behaviour against the documentation site before committing.

project readme (upstream, from github) — read inline


vue-data-ui

Version License Types npm downloads Static Badge GitHub issues MadeWithVueJs.com shield GitHub Repo stars

A user-empowering data visualization Vue component library for eloquent data storytelling.

Interactive Documentation:

Available components

Charts

Mini charts

3d

Tables

Rating

Maps

Productivity

Utilities

Installation

npm i vue-data-ui

You can declare components globally in your main.js:

import { createApp } from 'vue';
import App from './App.vue';
// Include the css;
import 'vue-data-ui/style.css';

// You can declare Vue Data UI components globally
import { VueUiRadar } from 'vue-data-ui';

const app = createApp(App);

app.component('VueUiRadar', VueUiRadar);
app.mount('#app');

Or you can import just what you need into your files:

<script setup>import {(VueUiRadar, VueUiXy)} from "vue-data-ui";</script>

You can also use the "VueDataUi" universal component, just specifying which component you are using. You can of course use the slots provided, if the target component has them.

<script setup>
import { ref } from "vue";
import { VueDataUi } from "vue-data-ui";
// Include the css;
import "vue-data-ui/style.css";

const config = ref({...});
const dataset = ref([...]);

</script>

<template>

  <VueDataUi
    component="VueUiXy"
    :config="config"
    :dataset="dataset"
  />

</template>

Note that the following utility components are not supported by the universal VueDataUi component and must be imported individually:

  • Arrow
  • VueUiIcon
  • VueUiPattern

Typescript

Types are available in the 'vue-data-ui.d.ts' file under the types directory of the package.

Vue Data UI version2 -> version3 migration

Vue Data UI v3 does not contain breaking changes. However, some charts have their padding configs modified, which can lead to excessive padding with a v2 config.

Version 3 features

  • config.loading (default: false) toggle loading state manually, to display a beautiful skeleton loader which uses the same chart component and shares layout features derived from your config. This skeleton loader is also triggered automatically if the provided dataset is undefined.

  • config.debug (default: false) set to true to show warning messages during development, turn off for production.

  • smart label resizing and auto-rotating features

  • more charts support responsive mode

  • config event callbacks

Nuxt

[This repo contains a boilerplate imp

readme truncated — read the full docs on github

Frequently asked questions

Is vue-data-ui free to use?

vue-data-ui is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does vue-data-ui do?

An open source user-empowering data visualization Vue 3 components library for eloquent data storytelling

What is vue-data-ui written in?

vue-data-ui is primarily written in Vue. Its source is publicly available at https://github.com/graphieros/vue-data-ui, and it has 2,448 GitHub stars.