npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@hcorta/react-echarts

v2.0.0

Published

A React component for the ECharts distrary

Downloads

1,435

Readme

React ECharts Header

A React component for the ECharts library

Version Size NPM Dependencies Status


Table of Contents

Installation

In order to use react-echarts, all you need to do is install the npm package:

yarn add @hcorta/react-echarts

echarts and react are peerDependencies of react-echarts, you may install your own versions.

Introduction

Apache ECharts is a free, powerful charting and visualization library offering intuitive, interactive, and highly customizable charts. It is written in pure JavaScript and based on zrender, a canvas library.

react-echarts is an abstraction wrapper built with React on top of Apache ECharts. Its main principles of are:

  1. Simplicty: react-echarts makes it easy to generate ECharts components by wrapping the code required to interact with the core library.
  2. Declarative: components are purely presentational.

Usage

<EChart />

To start using react-echarts, you just need to import the <EChart /> component from the root folder. Check the props section out for more info:

import { EChart } from '@hcorta/react-echarts'

function MyChart() {
  return (
    <EChart
      className={'my-classname'}
      xAxis={{
        type: 'category'
      }}
      yAxis={{
        type: 'value',
        boundaryGap: [0, '30%']
      }}
      series={[
        {
          type: 'line',
          data: [
            ['2022-10-12', 750],
            ['2022-10-17', 300],
            ['2022-10-18', 100]
          ]
        }
      ]}
    />
  )
}

useEcharts

In case you need to have more control over the container being used by the library to render ECharts, a special hook useECharts is provided.

export const EChart: FC<EChartProps> = (props) => {
  const containerRef: Ref<HTMLDivElement> = useRef()

  useECharts({ containerRef, ...props })

  return (
    <div
      ref={containerRef}
      id={id}
    />
  )
}

Props

While some props have been provided to facilitate specific use cases, most of them follow the Apache ECharts option schema. The following props, grouped by category, are available:

General

| Prop | Type | Description | Default | | :-------------------------- | :----------: | --------------------------------------------------------------------------- | :------------------------------: | | id | {String} | id of the container | '' | | className | {String} | Classname of the container | '' | | style | {Object} | Style object applied to the container | null |

ECharts

| Prop | Type | Description | Default | | :--------------- | :---------: | -------------------------------------------------------------------------------------------- | :-----: | | notMerge | {Boolean} | Whether or not to merge with previous option | false | | lazyUpdate | {Boolean} | Whether or not to update chart immediately; | false | | theme | {String} | Theme to be applied. This can be a configuring object of a theme, or a theme name registered | '' | | group | {String} | Group name to be used in chart connection. | '' | | renderer | {String} | Supports 'canvas' or 'svg' | 'svg' |

Option keys props

| Prop | Type | Description | Default | | :---------------------------- | :--------: | ---------------------------------------------------------------- | :-----: | | title | {Object} | https://echarts.apache.org/option.html#title | null | | legend | {Object} | https://echarts.apache.org/option.html#legend | null | | grid | {Object} | https://echarts.apache.org/option.html#grid | null | | xAxis | {Object} | https://echarts.apache.org/option.html#xAxis | null | | yAxis | {Object} | https://echarts.apache.org/option.html#yAxis | null | | polar | {Object} | https://echarts.apache.org/option.html#polar | null | | radiusAxis | {Object} | https://echarts.apache.org/option.html#radiusAxis | null | | angleAxis | {Object} | https://echarts.apache.org/option.html#angleAxis | null | | radar | {Object} | https://echarts.apache.org/option.html#radar | null | | dataZoom | {Object} | https://echarts.apache.org/option.html#dataZoom | null | | visualMap | {Object} | https://echarts.apache.org/option.html#visualMap | null | | tooltip | {Object} | https://echarts.apache.org/option.html#tooltip | null | | brush | {Object} | https://echarts.apache.org/option.html#brush | null | | geo | {Object} | https://echarts.apache.org/option.html#geo | null | | parallel | {Object} | https://echarts.apache.org/option.html#parallel | null | | parallelAxis | {Object} | https://echarts.apache.org/option.html#parallelAxis | null | | singleAxis | {Object} | https://echarts.apache.org/option.html#singleAxis | null | | timeline | {Object} | https://echarts.apache.org/option.html#timeline | null | | graphic | {Object} | https://echarts.apache.org/option.html#graphic | null | | calendar | {Object} | https://echarts.apache.org/option.html#calendar | null | | dataset | {Object} | https://echarts.apache.org/option.html#dataset | null | | aria | {Object} | https://echarts.apache.org/option.html#aria | null | | series | {Object} | https://echarts.apache.org/option.html#series | null | | color | {Object} | https://echarts.apache.org/option.html#color | null | | backgroundColor | {Object} | https://echarts.apache.org/option.html#backgroundColor | null | | textStyle | {Object} | https://echarts.apache.org/option.html#textStyle | null | | animation | {Object} | https://echarts.apache.org/option.html#animation | null | | animationThreshold | {Object} | https://echarts.apache.org/option.html#animationThreshold | null | | animationDuration | {Object} | https://echarts.apache.org/option.html#animationDuration | null | | animationEasing | {Object} | https://echarts.apache.org/option.html#animationEasing | null | | animationDelay | {Object} | https://echarts.apache.org/option.html#animationDelay | null | | animationDurationUpdate | {Object} | https://echarts.apache.org/option.html#animationDurationUpdate | null | | blendMode | {Object} | https://echarts.apache.org/option.html#blendMode | null | | hoverLayerThreshold | {Object} | https://echarts.apache.org/option.html#hoverLayerThreshold | null | | useUTC | {Object} | https://echarts.apache.org/option.html#useUTC | null | | media | {Object} | https://echarts.apache.org/option.html#media | null |

For more detailed info, check the ECharts docs

Events

| Prop | Type | Description | Default | | :--------------------------- | :----------: | ----------------------------------------------------------------------------------------------------------- | :-----: | | onMount | {Function} | Callback to be called on first component mount. | null | | onUpdate | {Function} | Callback to be called whenever the component is updated. | null | | onUnmmount | {Function} | Callback to be called when the component is unmounted. | null | | onRendered | {Function} | Trigger when a frame rendered. Notice that the rendered event does not indicate that the animation finished | null | | onFinished | {Function} | Triggered when render finished, that is, when animation finished | null | | onClick | {Function} | Event of chart click. | null | | onDoubleClick | {Function} | Event of double chart click. | null | | onMouseDown | {Function} | Event of mouse down chart | null | | onMouseMove | {Function} | Event of mouse mouse chart | null | | onMouseUp | {Function} | Event of mouse up chart | null | | onMouseOver | {Function} | Event of mouse over chart | null | | onMouseOut | {Function} | Event of global out chart | null | | onGlobalOut | {Function} | Event of global out chart | null | | onContextMenu | {Function} | Event of context menu | null | | onHighlight | {Function} | Event of data highlight. | null | | onDownplay. | {Function} | Event of data downplay. | null | | onSelectChanged | {Function} | Event emitted when data selection is changed. | null | | onLegendSelectChanged | {Function} | Event emitted after legend selecting state changes. | null | | onLegendSelected | {Function} | Event emitted after legend is selected. | null | | onLegendUnselected | {Function} | Event emitted after unselecting legend. | null | | onLegendSelectAll | {Function} | Event emitted after all legends are selected. | null | | onLegendInverseSelect | {Function} | Event emitted after inversing all legends. | null | | onLegendScroll | {Function} | Event when trigger legend scroll. | null | | onDataZoom | {Function} | Event emitted after zooming data area. | null | | onDataRangeSelected | {Function} | Event emitted after range is changed in visualMap. | null | | onTimelineChanged | {Function} | Event emitted after time point in timeline is changed. | null | | onTimelinePlayChanged | {Function} | Switching event of play state in timeline. | null | | onRestore | {Function} | Resets option event. | null | | onDataViewChanged | {Function} | Changing event of data view tool in toolbox. | null | | onMagicTypeChanged | {Function} | Switching event of magic type tool in toolbox. | null | | onGeoSelectChanged | {Function} | Event emitted after selecting state changes. | null | | onGeoSelected | {Function} | Event after selecting. | null | | onGeoUnselected | {Function} | Cancels selected event. | null | | onAxisAreaSelected | {Function} | Selecting event of range of parallel axis. | null | | onFocusNodeadJacency | {Function} | Adjacent nodes highlight event in graph. | null | | onUnfocusNodeAdjacency | {Function} | Adjacent nodes reverse-highlight event in graph. | null | | onBrush | {Function} | Event triggered after action brush dispatched. | null | | onBrushEnd | {Function} | Event triggered after action brushEnd dispatched. | null | | onBrushSelected | {Function} | Notice what are selected. | null | | onGlobalCursorTaken | {Function} | - | null |

Contributing

No one’s perfect. If you’ve found any errors, want to suggest enhancements, or expand on a topic, please feel free to open an Issue or collaborate by PR.

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

react-echarts is open source software licensed as MIT ©hcorta.