📂 ① データベース検索条件 (SQLの抽出範囲)
📊 ② グラフ軸の表示範囲 (ズーム・拡大)
目的と背景
現在、Allrunデータベース(OpenFOAMの全チュートリアルケース実行に係る計算時間や消費ディスクスペースの集計結果)をオンラインでグラフ化すべく取り組み中であり、Graphinaというプラグイン(の有料版)を導入して、初期目標の2/3程度は実現できるようになった ⇒ 例1 例2 (実はこれらの実現に際してもAIさんに多く助けてもらって、これが助けてもらったの(3))
表題の散布図に関しても当初Graphinaのコンポーネントを使って何度もトライしてみたのだが、最終的にAIさん曰く、
となって、方針変更せざるを得なくなった。
しかし、「HTML」ウィジェットから、「ショートコード」ウィジェットに、ショートコードをCode Snippetsプラグイン(無料版)で作成するという回り道を経ても至らず、最終的に
と、言われるままにやって、ようやく散布図を実現できた次第。
ついでながら今後のAllrun用カスタマイズを考えて、データベースの検索範囲や、グラフ軸の表示範囲をフォーム入力で可変できるように、ということまで注文通りに作ってくれた。
なお、Graphinaでも、元々は散布図が出来ていたようで、現在のバージョンに固有の問題である可能性もあるので、こちらは別途ウォッチしていくことになるだろう。
…とこれで一件落着かと思ったが甘かった。編集画面ではサクサク動いてくれたものの、表示画面ではグラフの描画にやたら時間がかかってしまっていた(数分のレベル)。で、ここからが、大層な回り道になって、3日間ほどの試行錯誤を経てようやく解決したんだが、改めてAIさんに対する問いの立て方が重要であることを実感した。
最終スレッドは以下の問いで始めた。
以前作成した以下のプログラムの続きを作りたいです。
このプログラムは、2つのフォームと散布図を表示するもので、
コードスニペットで[my_scatter_chart]としてPHP登録しておき、
呼び出しは、Elementorのショートコードブロックで、 [my_custom_scatter]を指定しています。このプログラムはElementorの編集画面では、期待通りに機能してくれています。つまり散布図が即座に表示され、2つのフォームによる条件指定もスムーズに反応してくれています。しかし以下の問題があります。
1.ページの表示画面にすると、グラフが表示されるまでの待ち時間が異常に長くかかります。
2.2つのフォームのうち、グラフの表示範囲を変更するボタンが反応してくれません。
そしてこの後で、一番まともに動いていた状態のプログラムを流し込むようにした。
その前の数日間の試行錯誤では、無料版を使っているせいか、最初に立てたスレッドが長くなって使えなくなってしまうので、何度かスレッドを立て直していたのだが、この問題点整理をしていなかったので、余計な回り道をしていたということである。
なお、これで上述の問題は、かなりすんなり解消できた。そして更に、
- データポイントのカスタマイズ: ドットの上にマウスを置いた時に、投稿のタイトルや日付を吹き出しに表示する
- 自動URL切り替え: あなたが管理者としてWordPressにログインした状態でグラフのドットをクリックすると、その記事の管理画面(編集ページ)が直接別タブで開きます。ログアウトした状態や一般ユーザーが踏んだ場合は、通常の公開記事ページが開きます。
- ※もし「ログイン中であっても、常に実際の記事ページを開くように固定したい」などがあれば、PHP側の条件分岐(
$is_user_logged_in)を外すだけで簡単に変更可能です。
- ※もし「ログイン中であっても、常に実際の記事ページを開くように固定したい」などがあれば、PHP側の条件分岐(
ということまでやってくれるというので、追加でお願いした。これらも1本道とまでいかなかったが、数回のやり直しで完成できた。最後の「($is_user_logged_in)を外すだけで簡単に変更可能です」だけは自分で修正した。
なお、この雛形を使って、最終的に作成したい散布図は、以下の図(phpMyAdminで動的に作成したグラフのスナップショットに手作業で吹き出しを追加している)を動的に作成することである。もちろん、OpenFOAMのバージョンや軸の範囲は検索ボックスで変更できるようになるはずで、たとえば「10」の点をクリックすると、こちらのページが表示されるようになるという次第。

