The vue-fusioncharts component provides a straightforward and efficient way to integrate the powerful FusionCharts JavaScript Charting Library with your Vue.js (Vue 3) applications.
- Getting Started
- Quick Start
- Working with Events
- Working with APIs
- Advanced Usage and FusionTime
- Contributing
- Licensing
Ensure you have Node.js, NPM/Yarn installed globally. Additionally, you need FusionCharts and Vue installed in your project.
You can install vue-fusioncharts directly via NPM or Yarn, or by downloading the binaries from our GitHub repository.
npm install vue-fusioncharts --saveyarn add vue-fusionchartsDownload the vue-fusioncharts.js file and include it in your project using a <script> tag:
<script src="path/to/vue-fusioncharts.js"></script>vue-fusioncharts can be integrated into your Vue application either globally as a plugin or locally within a component.
import { createApp } from 'vue';
import VueFusionCharts from 'vue-fusioncharts';
import FusionCharts from 'fusioncharts';
import Charts from 'fusioncharts/fusioncharts.charts';
const app = createApp(App);
app.use(VueFusionCharts, FusionCharts, Charts);import { createApp } from 'vue';
import VueFusionChartsComponent from 'vue-fusioncharts/component';
import FusionCharts from 'fusioncharts';
import Charts from 'fusioncharts/fusioncharts.charts';
const app = createApp(App);
const VueFusionCharts = VueFusionChartsComponent(FusionCharts, Charts);
app.component('fusioncharts', VueFusionCharts);Here is an example to quickly set up a chart using vue-fusioncharts:
import { createApp } from 'vue';
import VueFusionCharts from 'vue-fusioncharts';
import FusionCharts from 'fusioncharts';
import Charts from 'fusioncharts/fusioncharts.charts';
const myDataSource = {
  chart: {
    caption: 'Recommended Portfolio Split',
    subCaption: 'For a net-worth of $1M',
    showValues: '1',
    showPercentInTooltip: '0',
    numberPrefix: '$',
    enableMultiSlicing: '1',
    theme: 'fusion'
  },
  data: [
    { label: 'Equity', value: '300000' },
    { label: 'Debt', value: '230000' },
    // more data
  ]
};
const App = {
  data() {
    return {
      type: 'column2d',
      width: '500',
      height: '300',
      dataFormat: 'json',
      dataSource: myDataSource
    };
  }
};
const app = createApp(App);
app.use(VueFusionCharts, FusionCharts, Charts);
app.mount('#app');<div id="app">
  <fusioncharts
    :type="type"
    :width="width"
    :height="height"
    :dataFormat="dataFormat"
    :dataSource="dataSource">
  </fusioncharts>
</div>To handle events within vue-fusioncharts, use Vue event handling syntax:
<fusioncharts
  :type="type"
  :width="width"
  :height="height"
  :dataFormat="dataFormat"
  :dataSource="dataSource"
  @dataPlotRollover="onDataPlotRollover"
  ref="fc">
</fusioncharts>From [email protected] and [email protected], FusionTime allows easy visualization of time series data.
import { createApp } from 'vue';
import VueFusionCharts from 'vue-fusioncharts';
import FusionCharts from 'fusioncharts';
import TimeSeries from 'fusioncharts/fusioncharts.timeseries';
const app = createApp(App);
app.use(VueFusionCharts, FusionCharts, TimeSeries);
app.mount('#app');Contributions are welcome! Please refer to the repository's issue tracker to report bugs or submit feature requests.
vue-fusioncharts is open-source under the MIT/X11 License. Note that FusionCharts itself is separately licensed, and you need to purchase a commercial license for production use.