Package Exports
- vue-chartist
- vue-chartist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vue-chartist) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
vue-chartist
Plugin Vuejs for Chartist.js
Install
npm install vue-chartistSetup
This package include Chartist's javascript but not the stylesheet
const Vue = require("vue")
const vueChartist = require("../../index.js")
Vue.createApp({}).use(vueChartist)Usage
In your HTML, add <chartist> tag. This tag take the following attributes :
ratio -
Stringclass ratio of Chartist, see values on Chartist web sitetype -
String(required) chart type, possible values : -Line-Bar-Piedata -
Objectdata object like this
const data = {
labels: ["A", "B", "C"],
series: [
[1, 3, 2],
[4, 6, 5],
],
}options -
Objectoptions object, see defaultOptions on API Documentationevent-handlers -
Arraya special array to usechart.on(event, function)
const eventHandlers = [
{
event: "draw",
fn() {
//animation
},
},
{
//an other event hander
},
]- responsive-options -
Arrayobject for responsive options
Example
<chartist
ratio="ct-major-second"
type="Line"
:data="chartData"
:options="chartOptions"
>
</chartist>Note: think about using the dynamic props of Vuejs to bind easliy your data or other.
Vue.createApp({
data: {
chartData: {
labels: ["A", "B", "C"],
series: [
[1, 3, 2],
[4, 6, 5],
],
},
chartOptions: {
lineSmooth: false,
},
},
})
.use(vueChartist)
.mount("#app")Customize chart with no data
If chart data are empty or not definied the plugin add ct-nodata (or a custom class, see options plugin) class and write a message on the element.
That way, you can customize your element with CSS when you have no data to display. To choose your message use the options plugin.
Options Plugin
app.use(require("vue-chartist"), {
messageNoData: "You have not enough data",
classNoData: "empty",
})Chartist instance
There is two way to access this Chartist's instance :
By Vue instance
Vue.chartistor in component
this.$chartist