C3.js 开源 JavaScript 图表库

C3.js 是一个基于 D3.js 的开源 JavaScript 图表库,旨在简化数据可视化的过程。它提供了简单的 API,可以创建丰富的交互式图表,并具有良好的灵活性和可定制性。以下是 C3.js 的详细介绍:

主要特性

  1. 基于 D3.js
    • C3.js 是构建在 D3.js 之上的,利用 D3.js 的强大功能和灵活性,同时提供更高层次的封装,使得创建图表更加简单。
  2. 多种图表类型
    • 支持多种常见图表类型,包括:
      • 折线图(Line Chart)
      • 柱状图(Bar Chart)
      • 饼图(Pie Chart)
      • 区域图(Area Chart)
      • 散点图(Scatter Plot)
      • 堆叠图(Stacked Chart)
  3. 丰富的交互功能
    • 提供工具提示、图例切换、缩放和过滤等交互功能,使得用户能够更好地与图表进行互动。
  4. 响应式设计
    • 图表支持响应式布局,能够适应不同的屏幕尺寸和设备,确保在各种环境下都有良好的展示效果。
  5. 简单的配置和定制
    • 提供直观的配置选项,可以轻松定制图表的外观和行为,例如颜色、字体、大小和标签等。
    • 支持主题和样式的自定义,以便与应用的设计风格保持一致。
  6. 数据绑定
    • 支持通过 JSON 和数组等数据格式进行数据绑定,便于与后端数据交互。

安装和使用

安装

可以通过 npm 或直接引入 CDN 进行安装:

npm install c3

使用 CDN:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.20/c3.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.16.0/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.20/c3.min.js"></script>

基本用法

创建一个简单的折线图示例:

<div id="chart"></div>

<script>
  var chart = c3.generate({
    bindto: '#chart', // 绑定到的 DOM 元素
    data: {
      columns: [
        ['数据 1', 30, 200, 100, 400, 150, 250],
        ['数据 2', 50, 20, 10, 40, 15, 25]
      ]
    }
  });
</script>

使用 CDN:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.20/c3.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.16.0/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.20/c3.min.js"></script>

可以通过 npm 或直接引入 CDN 进行安装:

npm install c3

参考文档和资源

适用场景

C3.js 适用于各种需要数据可视化的项目,包括但不限于:

  • 数据分析和报告工具
  • 商业智能和数据可视化仪表板
  • 学术研究和可视化展示

由于其简洁的 API 和强大的功能,C3.js 是前端开发者快速构建图表的理想选择。