Home

Awesome

WARNING: project is no longer actively maintained, make sure to update any dependencies if you plan on using this in your project. (This project does not work with Vue3 and higher.)

<div align="center"> <img src="https://raw.githubusercontent.com/deviavir/vue-bar/master/media/logo.png" width="500" alt="Vue Bars"> <br> <h1>Vue Bars</h1> <p>🌈 Simple, elegant spark bars for Vue.js</p> <br> <a href="https://www.npmjs.org/package/vuebars"><img src="https://img.shields.io/npm/v/vuebars.svg?style=flat-square" alt="npm"></a> <img src="https://img.shields.io/badge/vue-^2.2-4fc08d.svg?colorA=2c3e50&style=flat-square" alt="vue"> </div> <br>

Installation

npm i vuebars -S

Usage

import Vue from 'vue'
import Bars from 'vuebars'

Vue.use(Bars)

Live Demo

vue template

<bars
  :data="[1, 2, 5, 9, 5, 10, 3, 5, 2, 5, 1, 8, 2, 9, 0]"
  :gradient="['#6fa8dc', '#42b983']">
</bars>

Inspired by

vuetrend - 📈 Simple, elegant spark lines

Props

NameTypeDefaultDescriptionExample
dataNumber|ObjectundefinedThe data accepted by Vue Bars is incredibly simple: An array of y-axis values to graph.[120, 149, 193.4, 200, 92] or [{ value: 4 }, { value: 6 }, { value: 8 }]
gradientString['#000']Colour can be specified as any SVG-supported format (named, rgb, hex, etc).['#0FF', '#F0F', '#FF0']
widthNumberautoSet an explicit width for your SVG.-
heightNumberautoSet an explicit height for your SVG.-
paddingNumber8If you set a very large strokeWidth on your line, you may notice that it gets "cropped" towards the edges.-
roundingNumber2To control radius on each bar's corners-
barWidthNumber4Set width of each bar-
labelRotateNumber-45To control rotation of labels-
labelSizeNumber0.7To control size of labels-
labelColorString#999To control color of labels-
labelDataString[]Array of strings['label1','label2','label3']
minBarHeightNumber3Minimum height-
autoDrawBooleanfalseAllow the line to draw itself on mount. Set to true to enable, and customize using autoDrawDuration and autoDrawEasing.-
growDurationNumber0.5The amount of time, in seconds, that the autoDraw animation should span. This prop has no effect if autoDraw isn't set to true.-
maxNumber-InfinitySpecify max value-
minNumberInfinitySpecify min value, This is useful if you have multiple lines. See #8-

SVG Props

By default, all properties not recognized by Vue Bars will be delegated to the SVG. The line inherits these properties if none of its own override them.

On-the-fly reloading

Make sure you use pass the same variable for your data as for the key, this will make sure Vue recognizes changes to your data array, and consequently forces a reload of the instance.

TODO

License

MIT