折れ線グラフでのスクロール動作について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 折れ線グラフでのスクロール動作について

  • このトピックには3件の返信、2人の参加者があり、最後にt-camにより6日、 2時間前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #7857
    t-cam
    参加者

    お世話になっております。

    時系列データを折れ線グラフを用いて表示したいのですが、データ数が多いので横スクロールする必要があります。
    以前、FQA内でテーブル1とテーブル2を同期してスクロールするという事を見たのですが、折れ線グラフとデータ元のテーブルでも同期して動かすことはできますでしょうか?折れ線グラフ内のメソッドを見てもスクロール関連のものが見当たりませんので質問させてください。

    #7858
    MZPlatformユーザー会
    キーマスター

    お問い合わせありがとうございます。
    折れ線グラフにもスクロールバーが配置されていますが、オブジェクトとしてはテーブルに配置されているものと別種となってしまうため、[スクロールパネル]に[折れ線グラフ]を配置し、スクロールして見るということが考えられます。

    1)1つには単純に[スクロールパネル]上に[折れ線グラフ]と[テーブル]を配置する方法です。個々のコンポーネントはスクロールバーが表示されないように最大幅にしておきます。
    [1]「画面編集画面」で[フレーム]上にまず「領域配置」>「Center]の配置方法で[スクロールパネル]を配置します。
    [2][スクロールパネル]上に「縦方向整列」等でコンポーネントを配置します。
    [3]フレームの配置画面で「自動サイズ設定」のチェックを外し、フレームの大きさを適宜変更します。例えば幅を狭めに設定します。

    2)2つ目は参考にしていただいた2つの[テーブル]の連動と同様に、スクロールバーのオブジェクトを取得し、共通化するものです。
    添付のファイルをご覧ください。[スクロールパネル]のスクロールバーでしたら、[テーブル]と共通化が可能です。ただ、幾つか組み合わせを変えて手元で試したところ、スクロールの移動距離の関係上か[テーブル]と[折れ線グラフ]の幅が大体同じでないと、どちらかのコンポーネントで隠れて表示されない箇所が出てきてしまいました。

    2つのファイルを添付いたしますので、ご参考になれば幸いです。
    ご不明な点がございましたら、どうぞ再度ご連絡ください。
    よろしくお願い申し上げます。

    添付ファイル:
    #7860
    MZPlatformユーザー会
    キーマスター

    追記で失礼いたします。MZプラットフォームお問い合わせ窓口です。

    [折れ線グラフ]に設定する[テーブル]のデータが、基本のデータの並び(参考:チュートリアルL8)である場合は、もっと簡便に2つのコンポーネントのスクロール開始位置をメソッドで指定することで設定できます。

    項目数が多い[折れ線グラフ]のデータとなる[テーブル]は行数が多く、縦スクロールが表示されているかと思います。[テーブル]の「縦横スクロールイベント」に繋げ、接続先[折れ線グラフ]のメソッド「setItemAxisDisplayStart(int)」を設定します。
    スクロールイベントのイベント内包データとして、スクロール位置が取得でき、これは[テーブル]では何行目を表示開始行とするか、[折れ線グラフ]では何項目目が表示開始位置となっているかという整数値です。縦スクロールのみ同期するようイベント番号も設定します。

    同様に[折れ線グラフ]のスクロールイベントに[テーブル]のメソッド「縦方向のスクロールバーの位置を設定する(int)」を繋げると、どちらかのコンポーネント動かすと同期することになります。
    詳しくは添付のサンプルファイルをご覧ください。
    ただし、上記方法はテーブルのイベント発生のタイミングのため、テーブルのスクロールバーのドラッグを完了したあとでないと、グラフのスクロールが行われませんので、ご了承ください。
    また、基本の折れ線グラフ用[テーブルデータと特に指定している理由は、グラフの項目数と[テーブル]の行数に違いがある場合、表示されない箇所出てくる可能性があるからです。

    以上、ご不明な点がございましたら、ご連絡いただければ幸いです。
    どうぞよろしくお願い申し上げます。

    添付ファイル:
    #7862
    t-cam
    参加者

    お返事が遅くなりまして申し訳ございません。

    色々な方法で実現可能なのですね。勉強になりました。
    ひとまず、後から提案いただいたテーブルのスクロールイベントからグラフの表示開始位置を設定という方法で目的の物はできそうです。
    ありがとうございました。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。