• <menu id="w2i4a"></menu>
  • logo FusionCharts Suite XT入門教程

    文檔首頁>>FusionCharts Suite XT入門教程>>JavaScript圖表工具FusionCharts Suite XT入門教程(九):使用API??切片數(shù)據(jù)圖

    JavaScript圖表工具FusionCharts Suite XT入門教程(九):使用API??切片數(shù)據(jù)圖


    FusionCharts Suite XT是全面的跨平臺、跨瀏覽器JavaScript圖表套包,其中包括FusionCharts XT、PowerCharts XT 、FusionWidgets XT 、FusionMaps XT。支持 ASP、 ASP.NET、 PHP、 JSP、 ColdFusion、 Ruby on Rails、 JavaScript、甚至簡單的HTML頁面。它是你值得信賴的JavaScript圖表解決方案,目前在全球有45萬用戶選擇Fusioncharts來制作專業(yè)的JavaScript圖表。

    JavaScript圖表工具,為什么選擇FusionCharts?點(diǎn)擊了解!

    點(diǎn)擊下載FusionCharts Suite XT最新試用版

    使用API切片數(shù)據(jù)圖

    FusionCharts Suite XT包含高級功能,可提供多種API,可在圖表的ife周期的不同階段或與圖表進(jìn)行交互時使用。這些功能包括完成圖表渲染,在運(yùn)行時處理單選按鈕等。

    本文重點(diǎn)介紹如何使用特定于圖表的自定義API切片Pie 2D圖表的數(shù)據(jù)圖。

    pie2d如下所示,配置為切出圖表數(shù)據(jù)圖的圖表:

    JavaScript圖表工具FusionCharts Suite XT入門教程(九):使用API切片數(shù)據(jù)圖

    上面示例的完整代碼如下:

    import React, {Component} from 'react';import ReactDOM from 'react-dom';import FusionCharts from 'fusioncharts';import Charts from 'fusioncharts/fusioncharts.charts';import ReactFC from 'react-fusioncharts';import FusionTheme from 'fusioncharts/themes/fusioncharts.theme.fusion';ReactFC.fcRoot(FusionCharts, Charts, FusionTheme);const chartConfigs = {
        type: 'Pie2D',
        width: 450,
        height: 250,
        dataFormat: 'json',
        dataSource: {
            "chart": {
                "caption": "Market Share of Web Servers",
                "plottooltext": "<b>$percentValue</b> of web servers run on $label servers",
                "showPercentValues": "1",
                "useDataPlotColorForLabels": "1",
                "enableMultiSlicing": "0",
                "theme": "fusion"
            },
            "data": [{
                "label": "Apache",
                "value": "32647479"
            }, {
                "label": "Microsoft",
                "value": "22100932"
            }, {
                "label": "Zeus",
                "value": "14376"
            }, {
                "label": "Other",
                "value": "18674221"
            }]
        }};class Chart extends Component {
        constructor(props) {
            super(props);
            this.state = {
                chart: {},
                currentVal: 'none'
            }
            this.renderComplete = this.renderComplete.bind(this);
            this.radioHandler = this.radioHandler.bind(this);
            this.sliceClicked = this.sliceClicked.bind(this);
        }
        renderComplete(chart) {
            this.setState({
                chart
            });
        }
        // Handler for radio buttons to slice data plot.
        radioHandler(e) {
            if (e.currentTarget.value === 'none') {
                this.state.chart.options.dataSource.data.map((data, index) => {
                    this.state.chart.slicePlotItem(index, false);
                });
            } else {
                this.state.chart.slicePlotItem(e.currentTarget.value, true);
            }
            this.setState({
                currentVal: e.currentTarget.value        });
        }
        // Event callback for 'dataplotClick'.
        // Makes the relevant radio active when a plot is clicked.
        sliceClicked(eventObj, dataObj) {
            this.setState({
                currentVal: eventObj.data.isSliced ? 'none' : eventObj.data.dataIndex        });
        }
        render() {
            return (
                <div>
                  <ReactFC                {...chartConfigs}
                    onRender={this.renderComplete}
                    fcEvent-dataplotClick={this.sliceClicked}
                  />
                  <br />
                  <center>
                    <span>Slice out:</span>
                    <div className="change-type">
                      <div>
                        <input
                          type="radio"
                          value="none"
                          onChange={this.radioHandler}
                          checked={this.state.currentVal === 'none'}
                        />
                        <label>None</label>
                      </div>
                      <div>
                        <input
                          type="radio"
                          value="0"
                          onChange={this.radioHandler}
                          checked={parseInt(this.state.currentVal) === 0}
                        />
                        <label>Apache</label>
                      </div>
                      <div>
                        <input
                          type="radio"
                          value="1"
                          onChange={this.radioHandler}
                          checked={parseInt(this.state.currentVal) === 1}
                        />
                        <label>Microsoft</label>
                      </div>
                      <div>
                        <input
                          type="radio"
                          value="2"
                          onChange={this.radioHandler}
                          checked={parseInt(this.state.currentVal) === 2}
                        />
                        <label>Zeus</label>
                      </div>
                      <div>
                        <input
                          type="radio"
                          value="3"
                          onChange={this.radioHandler}
                          checked={parseInt(this.state.currentVal) === 3}
                        />
                        <label>Other</label>
                      </div>
                    </div>
                  </center>
                </div>
            )
        }}ReactDOM.render(
        <Chart / > ,
        document.getElementById('root'),);

    上圖通過以下步驟呈現(xiàn):

    1. 使用包括必要的庫和組件import。例如fusioncharts圖書館等

    2. 將圖表和主題添加為依賴項(xiàng)。

    3. 將圖表配置存儲在JSON對象中。在JSON對象中:

      將圖表類型設(shè)置為pie2d。

      設(shè)置圖表的寬度和高度(以像素為單位)。

      將設(shè)置dataFormat為JSON。

      將json數(shù)據(jù)嵌入為的值dataSource。

    4. beforeRender 調(diào)用事件以切片圖表的數(shù)據(jù)圖。

    5. 在中創(chuàng)建單選按鈕,<div>以選擇要切出的數(shù)據(jù)圖。

    6. 功能已添加到單選按鈕,以在運(yùn)行時更新圖表類型。

      想要了解或購買FusionCharts Suite XT正版授權(quán)的朋友歡迎咨詢慧都官方在線客服

      關(guān)注“慧聚IT”微信公眾號,及時獲取產(chǎn)品最新消息和最新資訊

    7. JavaScript圖表工具FusionCharts Suite XT入門教程(九):使用API切片數(shù)據(jù)圖

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();