šŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →
Socket
Sign inDemoInstall
Socket

hexachart

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hexachart

Hexagon based data-viz ## Quick Run ```html <html> </head> <script src="https://unpkg.com/vue"></script> <script src="https://cdn.jsdelivr.net/npm/hexachart/dist/HexaChart.umd.min.js"></script> </head> <hexa-s

0.9.0
latest
npm
Version published
Maintainers
1
Created
Source

hexachart

Hexagon based data-viz

Quick Run

<html>
</head>
  <script src="https://unpkg.com/vue"></script>
  <script src="https://cdn.jsdelivr.net/npm/hexachart/dist/HexaChart.umd.min.js"></script>
</head>
<body>
<div id="app" class="container">
  <hexa-stack-chart :data="hsData" :texts="hsTexts" :colors="hsColors"/>
</div>
<script>
  // Comment the following line and uncomment the bellow line to use as plugin
  Object.keys(HexaChart).forEach(name => {
    Vue.component(name, HexaChart[name])
  })
  // Uncomment to use as a plugin
  // const plugin = {
  //   install: Vue => {
  //     Object.keys(HexaChart).forEach(name => {
  //       Vue.component(name, HexaChart[name])
  //     })
  //   }
  // }
  // Vue.use(plugin)
  const hsData = [52.5, 26.3, 21.2]
  const hsColors = ['#666666', '#999999', '#cccccc']
  const hsTexts = ['Alpha', 'Beta', 'Gamma']
  const vm = new Vue({
    data() {
      return {
        hsData,
        hscolors,
        hsTexts
      }
    },
  }).$mount('#app')
</script>
</body>
</html>

In a Vue Project

npm i hexachart
...
</template>
<script>
import * as HexaChat from 'HexaChart'
export default {
  name: 'Demo',
  components: {
    HexaChat.HexaStackChart,
    ...    
  },
  ...

Components

HexaStack

Minimal Example

<template>
<div>
  <hexa-stack-chart
    data="data"
    :colors="colors"
    :texts="texts"
  />
</div>
</template>

<script>
import { HexaStackChart } from 'HexaChart'
export default {
  name: 'Demo',
  components: {
    HexaStackChart
  },
  data () {
    return {
      data: [52.5, 26.3, 21.2],
      colors: ['#666666', '#999999', '#cccccc'],
      texts: ['Alpha', 'Beta', 'Gamma']
    }
  }
}
</script>

<style>
/** Fluid & Fixed responsive **/
.hc-hexastack {
  width: 170px;
  height: 530px;
}
</style>

Props

proptypedefaultdescription
dataArray[]The main data, array of floats, e.g. [3.5, 4, 16]. The size precede the data sum in priority, that means if size is greater than the data sum, the remaining cells will be filled by offColor, while if it is lesser it will be truncated
colorsArray['#f67055']Colors to be used (reserve order with data)
textsArray[]Array of strings that will be used as legend (reserve order with data)
offColorString'#757575'default color for any inactive cell (hexagon)
sizeNumber100The Total number of cells
columnsNumber5The number of columns
rowsNumber20The number of rows
horizontalBooleanfalseEither or not the hexastack is horizontal, default is vertical
animationBooleantrueEither or not use animation, if false no animation will play
animationDurationNumber3000Animation duration time in milliseconds, do not set to 0, use animation false instead
animationOptionsObject{delay: 0, easing: 'Bounce', easingEdge: 'Out'}Object of tweenjs like animation
gradientSpreadNumber.5How much the gradient will spread, 0 for sharp separation

HexaPie

Minimal Example

<template>
<div>
  <hexa-pie-chart
    :data="data"
    :texts="texts"
  />
</div>
</template>

<script>
import HexaPieChart from 'HexaChart'
export default {
  name: 'Demo',
  components: {
    HexaPieChart
  },
  data () {
    return {
      data: [32, 18],
      texts: ['Alpha', 'Beta']
    }
  }
}
</script>

<style>
.hc-hexapie {
  width: 316px;
  height: 234px;
}
.hc-hexapie-text {
  fill: #ffffff;
  font-size: 20px;
}
.hc-hexapie-legend {
  font-size: 20px;
  fill: #999999;
}
</style>

Props

proptypedefaultdescription
dataArray[]The main data, array of floats, e.g. [3.5, 4, 16]. This data are represented as percentage on the pie chart
colorsArray['#666666', '#f56042']Colors to be used (reserve order with data)
textsArrayArray of strings that will be used as legend (reserve order with data)
radiusNumber116Radius of the pie
curveNumber0.8A float between 0..1 that indicate how rounded are the hexagon conrners, 0 would make it a circle and 1 a hexagon
animationBooleantrueEither or not use animation, if false no animation will play
animationDurationNumber3000Animation duration time in milliseconds, do not set to 0, use animation false instead
animationOptionsObject{delay: 0, easing: 'Bounce', easingEdge: 'Out'}Object of tweenjs like animation

HexaInception

Minimal Example

<template>
<div>
  <hexa-inception-chart
    :data="data"
    :texts="texts"
    :unit="unit"
  />
</div>
</template>

<script>
import HexaInceptionChart from 'HexaStack'
export default {
  name: 'Demo',
  components: {
    HexaInceptionChart
  },
  data () {
    return {
      data: [107228, 76561],
      texts: ['Alpha', 'Beta'],
      unit: 'M'
    }
  }
}
</script>

<style>
.hc-hexainception {
  width: 500px;
  height: 500px;
}
</style>

Props

proptypedefaultdescription
dataArray[]The main data, Ordered array of floats, e.g. [16, 5, 2]
colorsArray['#666666', '#f56042']Colors to be used (reserve order with data)
textsArrayArray of strings that will be used as legend (reserve order with data)
unitString''Unit used in the legend, if left empty it will be ommited
curveNumber0.8A float between 0..1 that indicate how rounded are the hexagon conrners, 0 would make it a circle and 1 a hexagon
animationBooleantrueEither or not use animation, if false no animation will play
animationDurationNumber3000Animation duration time in milliseconds, do not set to 0, use animation false instead
animationOptionsObject{delay: 0, easing: 'Bounce', easingEdge: 'Out'}Object of tweenjs like animation

HexaBubule

Minimal Example

<template>
<div>
  <hexa-buble-chart
    :data="data"
  />
</div>
</template>

<script>
import HexaBubleChart from 'HexaStack'
export default {
  name: 'Demo',
  components: {
    HexaBubleChart
  },
  data () {
    return {
      data: [
        {d: 30222 name: 'GrandPa1', id: 1, children: [
          {d: 5600, name: 'Pa1_1', id: 11, children: [
            {d: 130932 name: 'Kid1_1_1', id: 111},
            {d: 89921 name: 'Kid1_1_2', id: 112},
            ...
          ]},
          {d: 66554, name: 'Pa1_2', id: 12, children: [
            ...
          ]},
          ...
        ]},
        ...
      ]
    }
  }
}
</script>

<style>
.hc-hexabuble {
  width: 100%;
  height: 500px;
}
.hc-hexabuble-chart {
  border: #000 solid 1px;
}
.hc-hexabuble-legend {
  font-size: 16px;
  fill: #999999;
}
</style>

Props

proptypedefaultdescription
dataArray[]The main data, One way bound Tree with leafs being on the format {d: 89921 name: 'name to be displayed', id: 1} and parent having an additional children attribute, which is an array of other nodes
colors*undefinedundefinednot yet implemented
unitString''Unit used in the legend, if left empty it will be ommited
curve*undefinedundefinednot yet implemented
animationBooleantrueEither or not use animation, if false no animation will play
animationDurationNumber3000Animation duration time in milliseconds, do not set to 0, use animation false instead
animationOptionsObject{delay: 0, easing: 'Bounce', easingEdge: 'Out'}Object of tweenjs like animation

FAQs

Package last updated on 07 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts