import React from 'react'; import FusionCharts from 'fusioncharts'; import charts from 'fusioncharts/fusioncharts.charts'; import ReactFC from 'react-fusioncharts'; // add this line if you have licence: FusionCharts.options['creditLabel'] = false; charts(FusionCharts); interface IOwnProps { myData: any; } type IProp = IOwnProps; class StackedChart extends React.PureComponent<IProp> { constructor(props: IProp) { super(props); this.getToolText = this.getToolText.bind(this); } getToolText(label: string, customData: string) { return ( `${label}` + ' | ' + `${customData}` + '<br/>' + '<div style="width:110px;color:red;margin-left:1px;margin-top:2px;"> ' + 'Custom Tooltip' + '</div>' ); } render() { // const { myData } = this.props; const dataSource = { chart: { theme: 'fusion', bgColor: '#FFFFFF', alternateHGridColor:'#FFFFFF', formatNumberScale: 1, numberPrefix: '$', numDivLines: 6, textOutline:0, /* decimalSeperator: ',', decimals: 0, forceDecimals: 0, yAxisValueDecimals: 0,*/ divLineThickness: 1, divLineAlpha: 10, useRoundEdges: 0, usePlotGradientColor: 0, showSum: '1', showLegend: 1, showcanvasborder: 0, showPlotBorder: 0, baseFont:'Arial, "Helvetica Neue", Helvetica, sans-serif', baseFontSize: 14, baseFontColor: '#000000', labelFont:'Arial, "Helvetica Neue", Helvetica, sans-serif', labelFontSize: 14, labelFontColor: '#000000', valueFont:'Arial, "Helvetica Neue", Helvetica, sans-serif', valueFontSize: 14, valueFontColor: '#000000', outCnvBaseFont:'Arial, "Helvetica Neue", Helvetica, sans-serif', outCnvBaseFontSize: 14, outCnvBaseFontColor: '#000000', legendItemFont:'Arial, "Helvetica Neue", Helvetica, sans-serif', legendItemFontSize: 14, legendItemFontColor: '#000000', legendIconScale: 1, legendBorderThickness: 0, legendShadow: 0, }, categories: [ { category: [ { label: 'Label1', }, { label: 'Label2', }, { label: 'Label3', }, { label: 'Label4', }, ], }, ], dataset: [ { seriesname: 'Serie 1', showValues: false, color: '#003f5ec', data: [ { value: 1000, toolText: this.getToolText( '$label', 'my custom text 1' ), }, { value: 2000, toolText: this.getToolText( '$label', 'my custom text 2' ), }, { value: 50, toolText: this.getToolText( '$label', 'my custom text 3' ), }, { value: 3000, toolText: this.getToolText( '$label', 'my custom text 4' ), }, ], }, { seriesname: 'Serie 2', showValues: false, color: '#ffe600', data: [ { value: 4000, toolText: this.getToolText( '$label', 'my custom text 5' ), }, { value: 2000, toolText: this.getToolText( '$label', 'my custom text 6' ), }, { value: 800, toolText: this.getToolText( '$label', 'my custom text 7' ), }, { value: 6600, toolText: this.getToolText( '$label', 'my custom text 8' ), }, ], }, ], } return ( <div id="my-chart-container"> <ReactFC type="stackedcolumn2d" width="100%" height="250" dataFormat="JSON" dataSource={dataSource} /> </div> ); } } export default StackedChart;
Monday
react - fusioncharts example with typescript (stackedcolumn2d)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment