C#

【C# 簡単便利】ScottPlot で 拡大・縮小・移動の範囲を制限をする方法 (AxisBounds)

はじめに

ScottPlotの 拡大・縮小・移動の範囲を制限する方法についてご紹介します。
「グラフの拡大・縮小が出来るのはいいけれど、操作しているとグラフが消えてしまう」という方におすすめです。

本家のCookBookには記載がなく、GitHubのIssuesにだけ記載されている情報です。

実行時のGIF動画

範囲指定なしの場合

範囲指定なしの場合の動画です。上下左右への移動ですぐにグラフが画面外に消えてしまい、
縮小した場合も再現なく小さくなってしまいます。

範囲指定ありの場合

範囲指定ありの場合の動画です。範囲設定を行うことで、上下左右への移動でもグラフが消えることはなくなりました。縮小も一定の範囲で止まります。

全体コード

範囲指定を設定するコードです。 AxisBounds() の1行のみで設定できます。
引数で、Xの最小、Xの最大、 Yの最小、Yの最大を指定可能です。

public partial class Form8 : Form
    {
        //
        // デザイナでScottPlotの描画コントロール formsPlot1を
        // 設定しています。
        // 

        public Form8()
        {
            InitializeComponent();

            // サンプル用のデータです。
            double[] pointX = { 1.0, 2.0, 3.0, 4.0, 5.0 };
            double[] pointY = { 1.0, 2.0, 3.0, 4.0, 5.0 };

            //
            // コントロールに散布図としてデータと凡例をセットします。
            // 凡例もあわせて設定します。
            //
            formsPlot1.plt.PlotScatter(pointX, pointY, label: "グラフ1");

            // コントロールにタイトルを設定します。
            formsPlot1.plt.Title("プロット1");

            //
            // 拡大・縮小/・移動が可能な範囲を設定します。
            // minX, maxX,   minY, maxY の順番です。
            // 
            formsPlot1.plt.AxisBounds(-1.0, 6.0, -1.0, 6.0);

            // Legend(凡例)の表示を指定します(指定しないと表示されません)。
            formsPlot1.plt.Legend();

            // ScottPlotのコントロールにグラフを描画(表示)します。
            formsPlot1.Render();
        }
    }

まとめ

グラフの移動・拡大・縮小に範囲指定をかける方法についてご紹介しました。
CookBookには載っていませんが、意外と便利な機能だと思います。
範囲指定の方法について調べている方の参考になればうれしいです。

自分でコードを打つ時間がない時は

『自分でやるには時間がない、でも頼める人もいない』と悩んでいるあなたに「ココナラ」があります。

登録者数は約200万。専門家・フリーランスも多く、制作サンプルやレビューを見て自分にあった人を選ぶことができます。特に人気の「Python」なら絶対数が多いので「デキる人」も見つけやすいです。登録は無料なのでどんな人・チームがいるか確認してみてください。

(HP製作・動画製作・面倒な業務文書の作成代行も依頼もできますよ)

1分以内に完了!無料会員登録はこちら

UdemyでC#のスキルを上げる

C#のスキルを上げるには、Udemyの動画講座がおすすめです。「C#で読みやすいコードを書く50の方法」「保守性の高いコードの書き方」など、脱初心者/スキルアップのための講座が公開されています。

1講座 2440円程度で公開されており、返金保証あり。視聴期限もないので自分のペースで仕事のスピードや評価のUPのための力をつけことができます。

書籍を買うのもいいですが、同額の値段で「動画講座」でもスキルを磨いてみてください。きっと費用対効果の高い自己投資になります。

以下のリンクはC#講座の一覧です。

⇒ C#の講座一覧をみる

応援・要望お待ちしてます

ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。

ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

メールアドレスが公開されることはありません。