Giter Site home page Giter Site logo

jesuj / vue-highcharts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from superman66/vue-highcharts

0.0 0.0 0.0 3.34 MB

The Component of Vue 2.x for highcharts

Home Page: https://codesandbox.io/s/jjyqvv0k13

License: MIT License

JavaScript 98.94% Vue 1.06%

vue-highcharts's Introduction

Travis npm npm npm

vue-highcharts

The component of Vue 2.0 for highcharts

中文 README

Check the Demo or Demo On CodeSanbox

Installation

npm

make sure you have installed highcharts.js.

npm install vue2-highcharts --save

Usage

Using ES6 Module in the component with load async data

<template>
  <div>
    <vue-highcharts :options="options" ref="lineCharts"></vue-highcharts>
    <button @click="load">load</button>
  </div>
</template>

<script>
import VueHighcharts from 'vue2-highcharts'
const asyncData = {
  name: 'Tokyo',
  marker: {
    symbol: 'square'
  },
  data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, {
    y: 26.5,
    marker: {
      symbol: 'url(http://www.highcharts.com/demo/gfx/sun.png)'
    }
  }, 23.3, 18.3, 13.9, 9.6]
}
export default{
    components: {
        VueHighcharts
    },
    data(){
      return{
        options: {
          chart: {
            type: 'spline'
          },
          title: {
            text: 'Monthly Average Temperature'
          },
          subtitle: {
            text: 'Source: WorldClimate.com'
          },
          xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
              'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
          },
          yAxis: {
            title: {
              text: 'Temperature'
            },
            labels: {
              formatter: function () {
                return this.value + '°';
              }
            }
          },
          tooltip: {
            crosshairs: true,
            shared: true
          },
          credits: {
            enabled: false
          },
          plotOptions: {
            spline: {
              marker: {
                radius: 4,
                lineColor: '#666666',
                lineWidth: 1
              }
            }
          },
          series: []
        }
      }
    },
    methods: {
      load(){
          let lineCharts = this.$refs.lineCharts;
          lineCharts.delegateMethod('showLoading', 'Loading...');
          setTimeout(() => {
              lineCharts.addSeries(asyncData);
              lineCharts.hideLoading();
          }, 2000)
      }
    }
}
</script>

you can get the chart instance by this.$refs.lineCharts

And using the methods of Highchart with delegateMethod()

If you want to use Highstock, Highmaps or any other add-ons, you should load add-ons as a module.

Load Drilldown module

import Exporting from 'highcharts/modules/Exporting.js'
import Drilldown from 'highcharts/modules/Drilldown.js'
import Highcharts from 'highcharts'
// Load Drilldown module
Drilldown(Highcharts);
// Load Exporting module
Exporting(Highcharts);
<vue-highcharts :highcharts="Highcharts" :options="drilldownOptions" ref="drilldownChart"></vue-highcharts>

you can ses Highcharts docs - Install from npm

Using with Nuxt.js

In Nuxt.js use vue2-highcharts, you should define a globle Component vue-highcharts.js for in ~/plugins:

import Vue from 'vue'
import VueHighcharts from 'vue2-highcharts'

Vue.component('VueHighcharts', VueHighcharts)

and add it in nuxt.config.js:

plugins: [{ src: '~plugins/vue-highcharts.js', ssr: false }],

after that, you can use vue2-highcharts component in your nuxt.js project.

for more detail, you can see: vue-nuxt-demo for vue-highcharts

Props

Name Type Description(Default Value)
classname string classname for component(default: vue-highcharts)
style object component styles(default: {})
options object(require) options of highcharts
highcharts object Highcharts instance

Build Setup

# install dependencies
npm install

# open "localhost:8080" in browers
npm run dev

# build for production with minification
npm run build

For detailed explanation on how things work, consult the docs for vue-loader.

License

MIT

Copyright (c) 2017-present, superman66

vue-highcharts's People

Contributors

superman66 avatar lucasbastianik avatar n-zeplo avatar snowwalkerj avatar hugome avatar sebastienrocks avatar cgi-cgi avatar kenlas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.