0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 マークダウンプラグイン パイチャートと縦棒グラフ表示

Posted at

マークダウンプラグイン計算式プラグインの連携で、パイチャートと縦棒グラフを表示してみます。

概要

マークダウンプラグインは、Mermaid ライブラリの書式でチャートやグラフを表示できます。
計算式プラグインで、テーブルデータからパイチャートと縦棒グラフを表示してみます。
パイチャートが既定で降順に表示されるため、縦棒グラフも降順にします。

rex0220 マークダウンプラグイン 縦棒グラフ表示を変更

  • 計算式プラグインでテーブルから区分別に金額を集計して、テーブル2にセット
  • テーブル2から文字列複数行にマークダウン形式で集計データをセット
  • マークダウンプラグインで、パイチャートと縦棒グラフを表示
  • パイチャートは、オプションで色指定
  • Mermaid ライブラリでは、まだ縦棒に色を指定できないので、CSSを指定
    • パイチャートに合わせて、opacity: 0.7;
  • 比較しやすいように、横並びプラグインを適用

2025-10-09_23h00_03.png

操作例

2025-10-09_23h41_13.gif

アプリ設定

パイチャートと縦棒グラフを表示のために、文字列複数行とスペース項目を用意します。

  • CSS 用にスペース項目を追加
  • グラフ表示用にスペース項目を二つ追加
  • テーブルと集計用テーブルを配置
  • 文字列複数行を二つ追加

2025-10-09_16h10_48.png

マークダウンプラグイン設定

2025-10-09_23h35_27.png

計算式プラグイン設定

2025-10-09_23h33_46.png

OPTION: 非同期計算

// space0:(space0) SPACER
TAGS_HTML(
  TAG("style","#user-js-space0 { display: none;}"),
  TAG("style",JOIN(ARRAY_MAP(ARRAY("#e74c3c", "#3498db", "#2ecc71", "#f1c40f", "#9b59b6",
 "#1abc9c", "#e67e22", "#34495e", "#ff66b2", "#95a5a6"), xx, idx,
    "#user-js-space2 .bar-plot-0 rect:nth-child("&(idx+1)&") { fill: "&xx&";opacity: 0.7;}"
  ),NEWLINE()))
)

// テーブル2 SUBTABLE
TLTABLE(テーブル,
  TPFILTER(区分),
  TPKEY(区分),TPVAL(金額),
  TPOUT(区分2,金額2),
  TPSORT(金額2,0)
)

// テーブル2.区分2 DROP_DOWN
// テーブル2.金額2 NUMBER

// 文字列複数行1 MULTI_LINE_TEXT (editable)
LET(
  colors, JOIN(ARRAY_MAP(ARRAY("#e74c3c", "#3498db", "#2ecc71", "#f1c40f", "#9b59b6",
   "#1abc9c", "#e67e22", "#34495e", "#ff66b2", "#95a5a6"), xx, idx,
     "'pie"&(idx+1)&"':'"&xx&"'"
  ),","),
  pie, JOIN(DIC_MAP(TABLE_DIC(テーブル2,区分2,金額2),key,val,"'"&key&"': "&val),NEWLINE()),
  REPLACEALL(JOIN(ARRAY(
    "### 円グラフ(Pie Chart)",
    "",
    "```mermaid",
    "%%{init: {'themeVariables': {",
    "  " & colors,
    "}}}%%",
    "pie showData",
    "    title 製品別 売上比較",
    "   " & pie,
    "```",
  ),NEWLINE()),"'",DQUOTE())
)

// 文字列複数行2 MULTI_LINE_TEXT (editable)
LET(type, TARRAY(区分2),
  amount, IF(type!="", TARRAY(NVL(金額2,0)), ARRAY(0)),
  maxAmount, IF(type!="", CEIL(MAX(金額2)*1.1,10000), 10000),
  type, IF(type!="", type, ARRAY("---")),
  REPLACEALL(JOIN(ARRAY(
  "### 📊 棒グラフ(縦)",
  "",
  "```mermaid",
  "xychart-beta",
  "    title '製品別 売上比較'",
  "    x-axis " & JSON_S(type),
  "    y-axis '売上(万円)' 0 --> " & maxAmount,
  "    bar " & JSON_S(amount),
  "```"
  ),NEWLINE()),"'",DQUOTE())
)

横並びプラグイン設定

2025-10-09_23h36_08.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?