杰瑞科技汇

FusionCharts教程怎么学?从入门到上手需要多久?

FusionCharts 教程:从零开始创建你的第一个交互式图表

什么是 FusionCharts?

FusionCharts 是一个功能强大、跨平台、响应式的 JavaScript 图表库,它可以帮助你在网页和移动应用中轻松创建超过 100 种 2D 和 3D 图表,包括常见的柱状图、折线图、饼图,以及复杂的组合图、热力图、漏斗图等。

FusionCharts教程怎么学?从入门到上手需要多久?-图1
(图片来源网络,侵删)

核心特点:

  • 图表类型丰富:满足几乎所有数据可视化需求。
  • 易于集成:支持所有主流前端框架(原生 JavaScript, React, Angular, Vue)。
  • 高度可定制:从颜色、字体到动画效果,几乎所有外观都可以自定义。
  • 响应式设计:图表能自动适应不同屏幕尺寸。
  • 强大的交互性:支持悬停提示、点击事件、缩放、平移等。
  • 可靠的数据驱动:支持 JSON 和 XML 数据格式。

快速入门:创建你的第一个图表(原生 JS)

这是最基础、最核心的步骤,理解了它,再学习其他框架就非常容易。

第 1 步:准备工作

  1. 获取 FusionCharts

    • 下载:你可以从 FusionCharts 官网 下载免费版或商业版。
    • CDN 引入(推荐,最简单):直接在 HTML 中通过 <script> 标签引入,免费版通过 CDN 使用会有 "FusionCharts Watermark" 水印。
    <!-- 引入 FusionCharts 核心文件 -->
    <script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
    <!-- 引入所需图表的主题文件,这里以 Zune 为例 -->
    <script src="https://cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.zune.js"></script>

第 2 步:准备一个容器

在 HTML 中创建一个 <div> 元素,作为图表的“画布”,必须给它一个 id

FusionCharts教程怎么学?从入门到上手需要多久?-图2
(图片来源网络,侵删)
<!-- 图表容器 -->
<div id="chart-container">图表正在加载中...</div>

第 3 步:准备数据

FusionCharts 使用 JSON 格式的数据,你需要定义图表的数据源,包括图表的标题、X轴/Y轴的标签以及具体的数据点。

const dataSource = {
    // 1. 图表配置
    chart: {
        caption: "2025年季度销售数据",
        xAxisName: "季度",
        yAxisName: "销售额 (万元)",
        theme: "zune" // 使用 Zune 主题
    },
    // 2. 数据
    data: [
        { label: "Q1", value: "12500" },
        { label: "Q2", value: "15200" },
        { label: "Q3", value: "14800" },
        { label: "Q4", value: "18900" }
    ]
};
  • chart 对象:包含所有图表级别的配置,如标题、坐标轴名称、主题等。
  • data 数组:包含所有数据点,每个数据点是一个对象,label 是标签(如Q1),value 是数值(字符串格式更佳)。

第 4 步:初始化并渲染图表

这是最后一步,用 JavaScript 将数据绑定到容器中,并创建图表实例。

// 1. 初始化 FusionCharts
// 参数:图表类型, 图表ID, 宽度, 高度, 容器ID
const chartInstance = new FusionCharts({
    type: 'column2d', // 指定图表类型为2D柱状图
    id: 'my-first-chart', // 给图表一个唯一的ID
    width: '600', // 宽度
    height: '400', // 高度
    renderAt: 'chart-container', // 绑定到之前创建的容器
    dataFormat: 'json', // 指定数据格式为JSON
    dataSource: dataSource // 传入准备好的数据
});
// 2. 渲染图表
chartInstance.render();

完整代码示例

将以上所有代码组合在一起,就是一个完整的 HTML 页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">FusionCharts 教程 - 第一个图表</title>
    <!-- 1. 引入 FusionCharts 核心文件和主题 -->
    <script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
    <script src="https://cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.zune.js"></script>
</head>
<body>
    <!-- 2. 创建图表容器 -->
    <h1>我的第一个 FusionCharts 图表</h1>
    <div id="chart-container">图表正在加载中...</div>
    <script>
        // 3. 准备数据
        const dataSource = {
            chart: {
                caption: "2025年季度销售数据",
                xAxisName: "季度",
                yAxisName: "销售额 (万元)",
                theme: "zune"
            },
            data: [
                { label: "Q1", value: "12500" },
                { label: "Q2", value: "15200" },
                { label: "Q3", value: "14800" },
                { label: "Q4", value: "18900" }
            ]
        };
        // 4. 初始化并渲染图表
        FusionCharts.ready(function() {
            const chartInstance = new FusionCharts({
                type: 'column2d',
                id: 'my-first-chart',
                width: '600',
                height: '400',
                renderAt: 'chart-container',
                dataFormat: 'json',
                dataSource: dataSource
            });
            chartInstance.render();
        });
    </script>
</body>
</html>

将这段代码保存为 .html 文件,用浏览器打开,你就能看到一个漂亮的柱状图了!

FusionCharts教程怎么学?从入门到上手需要多久?-图3
(图片来源网络,侵删)

常用图表类型

改变 type 参数即可创建不同类型的图表。

图表类型 type 描述
柱状图 column2d, column3d 用于比较不同类别的数据。
条形图 bar2d, bar3d 柱状图的横向版本。
折线图 line, area 显示数据随时间或有序类别的变化趋势。
饼图 pie2d, pie3d 显示与整体相关的部分数据,占比较为重要。
组合图 mscombi2d, mscombi3d 结合两种或多种图表类型(如柱状图+折线图)。
仪表盘 angulargauge, bulb 显示单个值在某个范围内的状态。
地图 maps/{country-code} maps/usa, maps/china

核心概念与高级配置

主题

主题是一套预定义的样式(颜色、字体、边框等),能让你的图表在瞬间变得专业美观,FusionCharts 提供了多个内置主题,如 zune, goblue, fint 等。

  • 如何使用:在 chart 配置中设置 theme 属性。
    chart: {
        theme: "zune"
    }

事件处理

你可以为图表的各种交互行为(如点击、悬停)绑定 JavaScript 函数。

  • 常用事件

    • beforeRender: 图表渲染前触发。
    • renderComplete: 图表渲染完成后触发。
    • dataPlotClick: 数据点被点击时触发。
    • entityMouseOver: 鼠标悬停在图表元素上时触发。
  • 示例:为数据点添加点击事件

    // 在初始化图表时添加事件配置
    const chartConfig = {
        type: 'column2d',
        // ... 其他配置
        events: {
            dataPlotClick: function(event, args) {
                // args.dataCategory 是标签 (如 Q1)
                // args.dataValue 是数值 (如 12500)
                alert(`你点击了 ${args.dataCategory},销售额为 ${args.dataValue} 万元!`);
            }
        }
    };

动态更新数据

你可以随时更新图表的数据,而不需要重新创建整个图表实例。

// 假设 chartInstance 已经创建
// 1. 准备新的数据
const newDataSource = {
    chart: {
        // ... 图表配置可以保持不变或更新
    },
    data: [
        { label: "Q1", value: "13500" },
        { label: "Q2", value: "16200" },
        { label: "Q3", value: "15800" },
        { label: "Q4", value: "19900" }
    ]
};
// 2. 使用 FusionCharts 的 updateData 方法更新
chartInstance.setChartData(newDataSource);

在现代前端框架中使用

原理和原生 JS 一样,只是将数据准备和图表渲染的过程“框架化”。

React

使用官方提供的 react-fusioncharts 组件库。

  1. 安装:

    npm install react-fusioncharts fusioncharts
  2. 使用:

    import React from 'react';
    import FusionCharts from 'fusioncharts';
    import Charts from 'fusioncharts/fusioncharts.charts'; // 引入图表模块
    import ReactFC from 'react-fusioncharts';
    import ZuneTheme from 'fusioncharts/themes/fusioncharts.theme.zune'; // 引入主题
    // 注册图表和主题
    Charts(FusionCharts);
    FusionCharts.theme = ZuneTheme;
    // 数据
    const dataSource = { /* ... 和之前一样 ... */ };
    function MyChartComponent() {
        return <ReactFC
            type="column2d"
            width="600"
            height="400"
            dataFormat="json"
            dataSource={dataSource}
        />;
    }
    export default MyChartComponent;

Vue

使用官方提供的 vue-fusioncharts 组件库。

  1. 安装:

    npm install vue-fusioncharts fusioncharts
  2. 使用:

    <template>
      <div>
        <fusioncharts
          :type="type"
          :width="width"
          :height="height"
          :dataformat="dataFormat"
          :dataSource="dataSource"
        />
      </div>
    </template>
    <script>
    import Vue from 'vue';
    import FusionCharts from 'fusioncharts';
    import Charts from 'fusioncharts/fusioncharts.charts';
    import VueFusionCharts from 'vue-fusioncharts';
    import ZuneTheme from 'fusioncharts/themes/fusioncharts.theme.zune';
    // 注册
    Charts(FusionCharts);
    FusionCharts.theme = ZuneTheme;
    Vue.use(VueFusionCharts);
    export default {
      data() {
        return {
          type: 'column2d',
          width: '600',
          height: '400',
          dataFormat: 'json',
          dataSource: { /* ... 和之前一样 ... */ }
        };
      }
    };
    </script>

Angular

使用官方提供的 angular-fusioncharts 组件库。

  1. 安装:

    npm install angular-fusioncharts fusioncharts
  2. 使用: 在你的 Angular 组件中:

    import { Component } from '@angular/core';
    import FusionCharts from 'fusioncharts';
    import Charts from 'fusioncharts/fusioncharts.charts';
    import ZuneTheme from 'fusioncharts/themes/fusioncharts.theme.zune';
    // 在组件外部或 constructor 内部注册
    Charts(FusionCharts);
    FusionCharts.theme = ZuneTheme;
    @Component({
      selector: 'app-my-chart',
      template: `<fusioncharts [type]="type" [width]="width" [height]="height" [dataFormat]="dataFormat" [dataSource]="dataSource"></fusioncharts>`
    })
    export class MyChartComponent {
      type = 'column2d';
      width = '600';
      height = '400';
      dataFormat = 'json';
      dataSource = { /* ... 和之前一样 ... */ };
    }

官方资源与学习路径

  1. FusionCharts 官方文档
  2. FusionCharts Playground
  3. 示例中心

学习 FusionCharts 的路径可以概括为:

  1. 入门:掌握原生 JS 的四步法(引入、容器、数据、渲染)。
  2. 实践:尝试更换图表类型、修改数据和配置项,熟悉各种图表。
  3. 进阶:学习使用事件处理、动态更新数据和高级配置,让图表“活”起来。
  4. 集成:将所学应用到你的前端项目(React/Vue/Angular)中。
  5. 探索:善用官方文档和 Playground,不断挖掘更高级的功能。

希望这份教程能帮助你顺利开启 FusionCharts 的数据可视化之旅!

分享:
扫描分享到社交APP
上一篇
下一篇