溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Echarts如何實現甘特圖展示

發布時間:2025-03-04 20:26:19 來源:億速云 閱讀:170 作者:小樊 欄目:編程語言

ECharts 是一個使用 JavaScript 實現的開源可視化庫,可以用于生成各種圖表,包括甘特圖。要在 ECharts 中實現甘特圖展示,你需要遵循以下步驟:

  1. 引入 ECharts 庫

在你的 HTML 文件中,通過 script 標簽引入 ECharts 庫。你可以從 ECharts 官網下載庫文件,或者使用 CDN 鏈接。

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.2/echarts.min.js"></script>
  1. 準備數據

甘特圖需要以下數據:

  • 任務列表:包含任務的名稱、開始時間和結束時間。
  • 資源分配:表示每個任務分配給哪些資源。

例如:

const tasks = [
  { name: 'Task 1', start: '2022-01-01', end: '2022-01-10' },
  { name: 'Task 2', start: '2022-01-05', end: '2022-01-15' },
  { name: 'Task 3', start: '2022-01-10', end: '2022-01-20' },
];

const resources = [
  { name: 'Resource 1', tasks: [0, 1] },
  { name: 'Resource 2', tasks: [2] },
];
  1. 初始化 ECharts 實例

在 HTML 文件中創建一個 div 元素,用于容納甘特圖。然后,在 JavaScript 中初始化 ECharts 實例。

<div id="ganttChart" style="width: 600px; height: 400px;"></div>
const chart = echarts.init(document.getElementById('ganttChart'));
  1. 配置 ECharts 選項

設置 ECharts 的配置項,包括圖表類型、數據、坐標軸等。

const option = {
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow',
    },
  },
  grid: {
    left: '3%',
    right: '4%',
    top: '10%',
    bottom: '10%',
  },
  xAxis: {
    type: 'time',
    boundaryGap: false,
  },
  yAxis: {
    type: 'category',
    data: resources.map((resource) => resource.name),
    inverse: true,
  },
  series: [
    {
      name: 'Tasks',
      type: 'bar',
      barWidth: '50%',
      data: tasks.map((task, index) => ({
        name: task.name,
        value: [new Date(task.start).getTime(), new Date(task.end).getTime()],
        resourceIndex: index % resources.length,
      })),
      encode: {
        x: [1],
        y: [0],
      },
    },
  ],
};
  1. 設置 ECharts 配置項并渲染圖表

將配置項設置到 ECharts 實例中,并渲染圖表。

chart.setOption(option);

現在,你應該可以在瀏覽器中看到一個簡單的甘特圖。你可以根據需要調整配置項,以實現更復雜的功能和樣式。更多關于 ECharts 和甘特圖的詳細信息,請參考 ECharts 官方文檔:https://echarts.apache.org/zh/index.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女