ガントチャートを作成する方法

ガントチャートは、プロジェクトのタスクや進捗状況を時系列で視覚的に表現するための重要なツールです。タスクの開始日、終了日、担当者などを横軸に沿って棒状に表示することで、プロジェクト全体の進行状況を一目で把握することができます。

1. Rパッケージのインストール方法

ガントチャートの作成にあたってはtimevisパッケージを利用します。

timevisパッケージの詳細については、こちらをご覧ください。

プロジェクトメニューから、「Rパッケージの管理」を選択します。

Rパッケージの管理のダイアログが開くので、「パッケージをインストール」を選択し、「timevis」を入力してインストールボタンをクリックします。

確認のダイアログが表示されるため、OKボタンをクリックします。

2. 使用するデータ

今回は「project_schedule」というプロジェクト管理のためのサンプルデータを使用します。データはこちらからダウンロードいただけるようになっています。

このデータは、プロジェクトのタスクスケジュールを管理するためのもので、1行が1つのタスクを表し、以下のような列があります:

  • task: タスク名(例:要件定義、基本設計など)
  • start_date: タスク開始日
  • end_date: タスク終了日
  • progress: タスクの進捗率(%)
  • team: 担当チーム(例:企画チーム、開発チームなど)

3. ガントチャートの作成

レポートの右横にある+ボタンを押して、「ノートを作成」をクリックします。

するとノートのウィンドウが開きます。

ガントチャートを可視化するためにはRスクリプトを書く必要があるため、ノートのプラスボタンから「Rスクリプト」を選択します。

このRスクリプトの中に、下記のスクリプトをコピー&ペーストしてください。

# ライブラリの読み込み
library(timevis)
library(dplyr)

# データの準備(timevis用にデータを整形)
timeline_data <- project_schedule %>%
  mutate(
    content = task,
    start = start_date,
    end = end_date,
    group = team,
    # プログレスバーのスタイル設定
    style = paste0(
      "background-color: rgba(33, 150, 243, 0.3); ",
      "height: 30px; ",
      "font-family: 'Hiragino Sans', sans-serif; ",
      "border-radius: 5px; ",
      "border-left: 4px solid rgb(33, 150, 243);"
    )
  ) %>%
  select(content, start, end, group, style)

# ガントチャートの作成
timevis(
  data = timeline_data,
  options = list(
    locale = "ja",  # 日本語の日付表示
    orientation = "both",  # グループとタイムラインの両方を表示
    stack = TRUE,  # タスクを積み重ねて表示
    showCurrentTime = FALSE,  # 現在時刻の線を非表示
    height = "500px",  # 高さの指定
    horizontalScroll = TRUE,  # 横スクロールを有効化
    verticalScroll = TRUE,  # 縦スクロールを有効化
    zoomKey = "ctrlKey",  # Ctrlキーを押しながらスクロールでズーム
    start = min(project_schedule$start_date),  # 表示開始日
    end = max(project_schedule$end_date)  # 表示終了日
  ),
  groups = data.frame(
    id = unique(project_schedule$team),
    content = unique(project_schedule$team),
    style = "font-family: 'Hiragino Sans', sans-serif;"  # グループラベルの日本語フォント設定
  )
)

自分のデータで使用する際には、以下のコード部分を修正してください:

  • project_scheduleの部分は使用するデータフレーム名を指定
  • task, start_date, end_date, teamの部分は実際の列名を指定
  • 日本語の文字化けを回避するために、日本語をサポートしているフォントをfont-familyに指定

    • Mac: 「Hiragino Sans」、「Hiragino Kaku Gothic Pro」など
    • Windows: 「Yu Gothic」、「MS Gothic」など

Rスクリプトを貼り付けることができたら、「プレビュー」ボタンをクリックします。

チャートのサイズを大きくしたい場合は、チャートをクリックした後に拡大ボタンをクリックします。

プレビューすると、以下のような特徴を持つガントチャートが表示されます:

  • チーム別にグループ化されたタスク
  • マウスホバーでタスクの詳細情報を表示
  • タイムライン全体の移動が可能

4. ガントチャート作成時のオプション

timevisパッケージでのガントチャート作成時に、以下のオプションを使ってチャートの設定を変更することが可能です。

  • orientation: 上下のタイムラインのラベルの表示位置を指定("top"上部, "bottom"下部, "both"両方)
  • stack: タスクの重なり制御(TRUE:重ならない / FALSE:重なりあり)
  • showCurrentTime: 現在時刻の縦線表示(TRUE:表示 / FALSE:非表示)
  • horizontalScroll: 横スクロール機能(TRUE:有効 / FALSE:無効)
  • verticalScroll: 縦スクロール機能(TRUE:有効 / FALSE:無効)

これらのオプションは、timevis関数の中のoptions = listの括弧の中にカンマ区切りで記載していくこととなります。

例えば、以下の2つのオプションを変更することで、タイムラインのラベルを上のみに表示し、現在の時刻を表す縦線を表示しています。

  • orientation = "top"
  • showCurrentTime = TRUE

参考資料

  • timevis公式ドキュメント - リンク
  • Rスクリプトを使ったチャートとアナリティクスの作成 - リンク
  • Rの関数とスクリプトを使った機能拡張 - リンク
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio