All Projects → whawker → React Jsx Highcharts

whawker / React Jsx Highcharts

Licence: mit
Highcharts built with proper React components

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Jsx Highcharts

Amcharts4
The most advanced amCharts charting library for JavaScript and TypeScript apps.
Stars: ✭ 907 (+169.94%)
Mutual labels:  data-visualization, dataviz, chart, charts, charting-library
Graphic
A Flutter data visualization library based on Grammar of Graphics.
Stars: ✭ 173 (-48.51%)
Mutual labels:  data-visualization, chart, charts, charting-library
Matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
Stars: ✭ 2,433 (+624.11%)
Mutual labels:  data-visualization, charts, graphs, charting-library
Keen Dataviz.js
Data Visualization Charting Library
Stars: ✭ 215 (-36.01%)
Mutual labels:  data-visualization, dataviz, charts, charting-library
Timeline Plus
Timeline - chronological visualization of your data
Stars: ✭ 140 (-58.33%)
Mutual labels:  data-visualization, chart, graphs, charting-library
Anychart
AnyChart is a lightweight and robust JavaScript charting solution with great API and documentation. The chart types and unique features are numerous, the library works easily with any development stack.
Stars: ✭ 288 (-14.29%)
Mutual labels:  data-visualization, chart, charts, charting-library
Anychart Android
AnyChart Android Chart is an amazing data visualization library for easily creating interactive charts in Android apps. It runs on API 19+ (Android 4.4) and features dozens of built-in chart types.
Stars: ✭ 1,762 (+424.4%)
Mutual labels:  data-visualization, chart, charts, charting-library
Aachartcore
📈📊☕️☕️☕️An elegant modern declarative data visualization chart framework for Android. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types.极其精美而又强大的 Android 数据可视化图表框架,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图等各种类型的多达几十种的信息图图表,完全满足工作所需.
Stars: ✭ 424 (+26.19%)
Mutual labels:  data-visualization, chart, charts, highcharts
Flutter echarts
A Flutter widget to use Apache ECharts (incubating) in a reactive way.
Stars: ✭ 420 (+25%)
Mutual labels:  data-visualization, chart, charts, charting-library
Chartkick.py
Create beautiful Javascript charts with minimal code
Stars: ✭ 695 (+106.85%)
Mutual labels:  chart, charts, charting-library, highcharts
Uplot
📈 A small, fast chart for time series, lines, areas, ohlc & bars
Stars: ✭ 6,808 (+1926.19%)
Mutual labels:  data-visualization, chart, charts, graphs
React Fusioncharts Component
ReactJS component for FusionCharts JavaScript Charting library.
Stars: ✭ 73 (-78.27%)
Mutual labels:  data-visualization, dataviz, charts, graphs
Life Calendar
A look at the big picture.
Stars: ✭ 139 (-58.63%)
Mutual labels:  data-visualization, charts, graphs
Awesome Dataviz
📈 A curated list of awesome data visualization libraries and resources.
Stars: ✭ 2,905 (+764.58%)
Mutual labels:  data-visualization, dataviz, chart
Plotly.js
Open-source JavaScript charting library behind Plotly and Dash
Stars: ✭ 14,268 (+4146.43%)
Mutual labels:  data-visualization, charts, charting-library
Apexcharts.js
📊 Interactive JavaScript Charts built on SVG
Stars: ✭ 10,991 (+3171.13%)
Mutual labels:  data-visualization, charts, graphs
Reaviz
📊 Data visualization library for React based on D3
Stars: ✭ 215 (-36.01%)
Mutual labels:  data-visualization, chart, charts
scalajs-highcharts
Scala.js static typed facades for Highcharts library
Stars: ✭ 30 (-91.07%)
Mutual labels:  charts, highcharts, graphs
angular-fusioncharts
Angular Component for FusionCharts JavaScript Charting Library
Stars: ✭ 53 (-84.23%)
Mutual labels:  charts, dataviz, graphs
SwiftCharts
Easy to use and highly customizable charts library for iOS
Stars: ✭ 2,405 (+615.77%)
Mutual labels:  chart, charts, graphs

React JSX Highcharts

Build Status

Highcharts built with proper React components. More that just a simple wrapper - utilises the power of React props to create dynamic charts!

React JSX Highcharts offers separate packages for each Highcharts product.

Highcharts
Highstock
Highmaps

Why React JSX Highcharts?

Unlike other React Highcharts wrapper libraries, React JSX Highcharts is designed to be dynamic - it is optimised for interactive charts that need to adapt to business logic in your React application.

Other Highcharts wrappers completely destroy and recreate the chart when the configuration options change, which is very wasteful and inefficient.

React JSX Highcharts uses a different approach. By providing React components for each Highcharts component, we can observe exactly which prop has changed and call the optimal Highcharts method behind the scenes. For example, if the data prop were to change on a <Series /> component, React JSX Highcharts can follow Highcharts best practices and use the setData method rather than the more expensive update.

React JSX Highcharts also enables you to write your own Highcharts components, via its exposed hooks.

Installation

# Install the appropriate React JSX package
npm install --save react-jsx-highcharts
#               or react-jsx-highstock
#               or react-jsx-highmaps

# And the peer dependencies
npm install --save react react-dom prop-types [email protected]^9.0.0

Licensing

React JSX Highcharts is free to use, however Highcharts itself requires a license for commercial use. Highcharts license FAQs.

Documentation

Examples

Getting started

The intention of this library is to provide a very thin abstraction of Highcharts using React components. This has been achieved by passing Highcharts configuration options as component props.

In the vast majority of cases, the name of the configuration option, and the name of the component prop are the same.

Example

<Tooltip /> component

<Tooltip padding={10} hideDelay={250} shape="square" split />

This corresponds to the Highcharts' tooltip configuration of

tooltip: {
  enabled: true, // This is assumed when component is mounted
  padding: 10,
  hideDelay: 250,
  shape: 'square',
  split: true
}

We aim to pass all configuration options using the same name, so we use Highcharts' documentation to figure out how to achieve the same with React JSX Highcharts.

Note:

There are two exceptions to the above;

Exception 1

Where Highcharts events are concerned - instead of passing events as an object, we use the React convention onEventName.

Example

<SplineSeries
  id="my-series"
  data={myData}
  onHide={this.handleHide}
  onShow={this.handleShow}
/>

This would correspond to the Highcharts configuration

series: [
  {
    type: 'spline',
    id: 'my-series',
    data: myData,
    events: { hide: this.handleHide, show: this.handleShow }
  }
];

Exception 2

text configuration options are passed as a React child

Example

<Title>Some Text Here</Title>

This would correspond to the Highcharts configuration

title: {
  text: 'Some Text Here';
}

Acknowledgements

Thanks to Recharts for the inspiration of building charts with separate components.

Thanks to Highcharts themselves, obviously.

Thanks to @anajavi for all the help and support in maintaining this project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].