Bubbleでプラグインを使わずに横棒グラフを作る方法

ノーコードツールBubbleでプラグインを使わずにオリジナルの横棒グラフを作る方法をご紹介。

プラグインを使うと簡単に縦横グラフのほか、円グラフなども実装できますが、デザインを柔軟にカスタマイズするのは厳しいです。デザイナーが制作したデザインをBubbleで忠実に再現して実装するにはオリジナルでグラフを作る考え方を知っておくべきでしょう。

この記事では、以下に当てはまる方向けのTipsを解説します。

  • Bubbleでプラグインを使わずに横棒グラフを実装する方法が知りたい!
  • RepeatingGroup内のShapeエレメントの横幅(Width)を動的に変更する方法(Insert dynamic dataや全体に対する割合を使って)が分からなくて困っている…

著者:大熊滉希
ノーコード特化のアプリ/システム開発事業を展開するEPICsの代表。
前職にて新規事業コンサルティングを行う企業で役員を歴任した後、
最小の経営資源で開発を行えるノーコードに可能性を感じEPICsを創業。

運営会社:EPICs合同会社
日本最大級の開発実績を誇るノーコード特化のアプリ/システム開発会社。
最安30万円・最短2週間から、BubbleやAdaloなど多様なツールの中からニーズに合わせた最適な開発を提案・実施している。Adalo公認エキスパートも在籍。

目次

日本最大級のノーコード開発実績!
 \ 最安30万円・最短2週間でアプリ・システム開発 /

もっと知る →

実装イメージ

今回紹介する記事の内容を習得すれば、添付のような横棒グラフを自作することができるようになります。

イメージとしては以下を想定したサンプルです。

投票画面でユーザーが投票選択肢の中から1つを選んで投票を行う。

投票集計結果が添付の横棒グラフに表示される。グラフに表示するのは投票数ではなく全体に対する割合。

自作の横棒グラフをBubbleで実装する手順

以下の手順で実装します。

  1. 横棒グラフのデザインをBubbleに落とし込む
  2. RepeatingGroupの設定をする
  3. 投票割合を表示する
  4. Shapeエレメントで作ったグラフの横棒の横幅を動的に変更する

まずはデザイナーが作った横棒グラフのデザインを、Bubbleにて忠実に再現するところからです。一度ベタ打ちでデザインを落とし込めたらその後にRepeatingGroup内に入れてRGの設定をしていく流れ。

最も注目していただきたいのは④。BubbleのLayoutタブからはエレメントのWidthやHeightを現状では動的に変更できません。それを可能にするのが④で紹介するテクニックです。今回の記事は④を皆さんに共有したくて筆をとったと言っても過言ではありません(笑)。

横棒グラフのデザインをBubbleに落とし込む

上記の横棒グラフのデザインは、Groupエレメント内に3つのエレメント(Shape、Text、Text)をAlign to parentで配置することでキレイに再現できます。

完成形のエレメントツリーは添付の通り!

BubbleではGroup内の要素の重なり順(z-index)は先頭の要素が後ろに配置されるので、ShapeエレメントをGroup内で先頭に持ってきているのもプチポイントです。そうしないと、TextエレメントがShapeに隠れてしまうので。

Shapeエレメントの横幅は後ほど動的に変更するので何も指定しません。Align to parentの位置は真ん中左にします。

グラフ右端に表示させる割合のTextエレメントは、Align to parentの位置を真ん中右にします。

グラフの投票選択肢のTextエレメントはAlign to parentの位置を横棒と同様に真ん中左にしますが、左余白を設けたいので、Padding Leftで調整します。

RepeatingGroupの設定をする

横棒グラフ単体のデザインが再現できたら、次にRepeatingGroupの中に移動させましょう。

RepeatingGroupのType of contentやData sourceはご自身のプロジェクトに合わせて設定していただきたいので詳細は割愛させていただきますが、一例としてサンプルでは添付のように構築しております。

上のDo a Search forで指定しているData Type「Vote Count」には、selectionというtext型のフィールドと、voteというData Type「Vote」のリレーションを設定しています。

※上のキャプチャではType of contentがGroupingになっていますが、これは:grouped byを使用すると自動でGroupingになります。

横棒グラフのデータベースのイメージ

ユーザーが投票する(Create Vote)際に、選んだ投票選択肢の内容を「Vote Count」のselectionに保存するので、その文言と票数を使って横棒グラフに投票結果を表示するイメージです。

投票割合を表示する

次に各横棒グラフの右端に表示する投票割合の表示を実装します。

添付のように、各投票数を全体の投票数で割った値に100をかけ、floorで小数点を切り捨てたあとに末尾に%表記をつけてあげればOK。

Shapeエレメントで作ったグラフの横棒の横幅を動的に変更する

仕上げです。横棒の横幅は全体に対する投票割合によって動的に拡大縮小させます!

めっちゃ重要!

まず、横幅を動的に変更させたいエレメント(今回はShapeエレメント)のID Attribute欄にInsert dynamic dataのCurrent cell’s indexを使い、idを付与します。このように設定することで各Shapeエレメントには以下のようにidがふられます。

・bar-chart-1
・bar-chart-2
・bar-chart-3



・bar-chart-10

そして、該当のRepeatingGroup内に、HTMLエレメントを設置し、以下のようなCSSを書きます。

<style>
#bar-chart-Current cell's index {
  width: ((各投票数 / 全体の投票数) * 100):floor %!important;
}
</style>

このCSSを書くことで、上記でidを割り当てた各Shapeエレメントのwidthを、全体に対する投票割合で%指定することができます。※添付画像の青文字はBubbleのInsert dynamic dataで入れてください。

これで実装は一通り完了です!お疲れ様でした!

日本最大級のノーコード開発実績!ノーコードなら迷わずEPICs

EPICsはノーコードでの開発に特化をしたプロの開発組織です。

従来のスクラッチでの開発でよく発生する「費用が高い」 「開発期間が長い」 「知識がなく開発に踏み切れない」という課題に対し、ノーコードでの開発という選択肢で皆様の開発を支援します!

そんな弊社に開発相談をいただくメリットは大きく4つあります!

①豊富な開発実績
創業よりノーコード開発を軸に多様な開発を行ってまいりました。SNSやマッチングアプリ、ECアプリなど多様な開発実績がございます。
豊富な経験をもとに、ただ開発を行うにとどまらず、より良い開発を行うためのアドレスや公開後のご不安やご相談にも対応させていただきます!

②最安30万円!通常の1/10~1/5ほどの低コストで開発
コーディングの工程を削減できるノーコードは、最適かつ最小限の人員で対応が可能です。また弊社では豊富な開発実績があるため、経験を活かした開発を行うことで開発費用を大幅に削減することができます。

③最短2週間!圧倒的な短期間で納品
ノーコード開発では複雑なコードを1から書く必要がないため開発工程を省略することができ、開発期間の大幅な短縮が可能です。

④公開後の保守や運用の徹底サポート
アプリは開発後の運用もとても重要です。EPICsでは開発のみならずその後のサポートも対応可能です!
またノーコードで開発したアプリは、スクラッチで開発したアプリに比べて保守や運用にかかる費用を削減することも可能です!

「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
目次