※当ページのリンクには広告が含まれています

<Excel>バブルを動かす!モーションバブルチャートの作成方法

2024年10月3日木曜日

アプリ・ソフトウェア 機能性アップ 自作プログラム

X f B! P L

前々回までに、例えば毎月の売上や営業成績などの時系列データについて、データの補間をして、自動でグラフの ソース を遷移させ、画像として出力し、動画化するという一連の流れを通してみました。前回、さらにそれらをより使いやすく統合したマクロファイルを作成した件について述べました。今回は、これまでに出来ていなかったモーションバブルチャートを追加した件について書きます。


 

English page is here.

Move bubbles! Making motion bubble chart in Excel
https://magtanate.blogspot.com/2021/09/Lang-English-moving-bubble-chart.html
DIY360

前回、前々回の記事はこちら

<Excel>滑らかに動く(アニメーション)グラフを作るための3つのステップ
https://magtanate.blogspot.com/2021/08/3-steps-to-smooth-motion-graph.html
DIY360
プレゼンに便利!Excelで動くグラフ(モーショングラフ)を作る方法
https://magtanate.blogspot.com/2021/08/easy-motion-graph-file.html
DIY360

追加ファイル(シート)の入手

これまでのもの(統合版と呼びます)は、リンク先より入手できます。

https://diy360.booth.pm/items/3180113


今回は、これまでの統合版に追加するためのファイル(追加ファイルと呼びます)を用意しました。

https://diy360.booth.pm/items/3188304


また、上記統合版と追加ファイルを合わせたもの(バブル強化版)も用意しましたー。

少しお得になってますし、追加ファイルを使う場合の面倒なシート入れ替え作業もないのでおすすめです。

https://diy360.booth.pm/items/3188359


追加ファイルの使用方法

シートの構成と使用手順

追加ファイルについては、2枚のシートから構成されています。一つは「はじめにお読み下さい」で、まあ定番的なやつ。

もう一つが「補間結果」シートで、これを統合版のシートと置き換える必要があります。


手順としては、

  1. 統合版を開き、補間結果シートを削除する
  2. この追加ファイルを開き、シート名を右クリックし、移動またはコピーを選び、上記統合版にシートごとコピーする。コピー先は「生データ」のシートと「mp4動画として出力」のシートの間とする。
  3. 追加ファイルは閉じてOK
  4. 統合版の補間結果シート上に新たに追加された3つのボタン(バブルチャート(座標変動の場合)のグラフ原型を作成、データラベルの表示設定、バブルチャート(座標変動の場合)を連続処理)について、右クリック → マクロを登録 → sheet2.〇〇〇〇(ボタンと同名)のマクロを選ぶ)
  5. 保存して完了

となります。


データの構成(X座標、Y座標、バブルサイズの順に)

従来の「座標固定版のバブルチャート」の場合ですと、各項目データが1列ずつ並んでいる感じでした。

一方で今回の「座標変動版のバブルチャート」(モーションバブルチャート)の場合ですと、F列は従来通り連番とか時間とかですが、G列以降は以下のような構成となります。

F G H I J K L ・・・
Time or No. X1 Y1 Size1 X2 Y2 Size2 ・・・(←任意の文字)
バブル1X座標 バブル1Y座標 バブル1サイズ バブル2X座標 バブル2Y座標 バブル2サイズ ・・・(数値)
バブル1X座標 バブル1Y座標 バブル1サイズ バブル2X座標 バブル2Y座標 バブル2サイズ ・・・(数値)
・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・

GHI列、JKL列と、3列ずつセットになっていて、1列目にX座標、2列目にY座標、3列目にバブルのサイズが入力されるようにしておきます。2行目以降も同じです。これを生データとしておいて、線形補間することで、X座標、Y座標、サイズ、それぞれが滑らかに動くようにできます。


「バブルチャート(座標変動の場合)のグラフ原型を作成」ボタンの説明

このボタンを押すことで、動きを加えたいバブルチャートの原型(1行目のみを使ったデータ)を作ることができます。このボタンで動くスクリプト、全部は説明しませんが、まずは以下のスクリプトで1つ目のバブルだけを持つチャートを描いておいて、それにバブルを追加していく感じです。

    Range("G2:I2").Select '一度セレクトしておかないとデータ全体でまず書こうとしてしまい重い
    ActiveSheet.Shapes.AddChart2(269, xlBubble3DEffect).Select
    ActiveChart.SetSourceData Source:=Range("補間結果!$G$2:$I$2")
    ActiveChart.FullSeriesCollection(1).Name = "=補間結果!$H$1"

なぜ1つ目を描いた上でそれに追加しようとしているかというと、理由があります。はじめはAddChartでチャートの空箱を作っておいて、それに一個ずつバブルを追加していこうとしていたんですが、そうすると、Excelバブルチャートでおなじみの球体っぽいバブルが自動では描けなかったんです。xBubble3DEffectなのに、平面っぽい塗りつぶしになっちゃう。ということで、敢えて1つ目を箱と一緒に描画し、そこにバブルを追加していく感じにしてあります。

あと動画時にキレイに見えるための工夫として、以下があります。

    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = Cells(2, 6) & vbTab
    End With

要は、Time or No.を表示させる時に、vbTabでTabを追加しておくことです。実はこの座標変動版のバブルチャートですと、パラパラ漫画のコマとして出力する時に、Time or No.を表示させるグラフタイトルのボックスについて、文字の左寄せとかが効かない、いや効いてるのかもしれないけど、何故か左右にフラフラしてしまって見にくくなります。しかしこのTabを追記してやることで、フラフラが収まるのです。なぜだろう。。まあ結果オーライなんですが。


「データラベルの表示設定」ボタンの説明

このボタンで、データラベルの表示の設定が可能です。この(X、Y、サイズ)をセットとして横にデータを並べていく形式の場合、データラベルをの追加が1つ1つの手作業になってしまうため、かなり手間です。そこでこの形式でもデータラベルを一挙に追加できるように追加した機能となります。

このボタンの隣(セルB28あたり)に以下のセルがあります。

ラベル 吹き出し No

系列名 Yes

X座標値 No

Y座標値 No

サイズ No

これらのパラメータを設定した上で、バブルチャートを選択し、「データラベルの表示設定」ボタンを押すことで、チャートにラベルが反映されます。なお系列名については、Y座標の項目名(セルH1、K1、・・・)が反映されるようになってますので、このセルの内容をラベルにしたい内容にしてください。

またラベルの位置はグラフ選択時に右上に出る+ボタンから、データラベルの横の三角形を選びますと、中央とか左とかを選択できます。


「バブルチャート(座標変動の場合)を連続処理」ボタンの説明

これは従来のものと同じです。バブルチャートを選択(アクティブに)した状態でこのボタンを押すと、パラパラ漫画のコマが連続で出力されます。

一連の流れを念の為動画にしてみました。



最後に

今回は、前回までに作成した、線形補間→グラフのソースの連続移動とパラパラ漫画のコマ出力→mp4動画化の流れを1つにまとめ、より使いやすくした統合版のファイルをパワーアップし、モーションバブルチャートにも対応できるようにしました。

今回もあまりスクリプトの中身については述べていませんが、基本は前々回に投稿した通りです。もしスクリプトなど必要であれば、ファイル配布サイトのBoothへのリンクにて、これらのファイルを入手して頂いて中身を確認頂ければと思います。

シートのみ(すでに基本ファイルを持っている方向け)

基本ファイルに今回の機能を追加した高機能版


QooQ