Chart

【C#】Chart 軸ラベルの設定方法

はじめに

Chartコントロールで、軸ラベルを設定する方法についてご紹介します。

そもそもChartでグラフってどう作るの?という方は、以下の記事も合わせてご覧ください。

環境

この記事は以下の環境で作成しています。

環境バージョンなど
VisualStudio   2019 Community
.NET4.7.2
プロジェクトWindowsFormアプリケーション 
OSWindows 7

※ Windows10, VisualStudio 2017でも作成できます。

実行結果

後述するコードで軸ラベルを設定すると、以下のように表示されます。
今回軸ラベルは「X軸」「Y軸」のという名称で設定しています。

軸ラベルを設定するコードの実行結果

全体コード

散布図のグラフを表示するコードの中は以下の通りです。

折れ線グラフに表示される軸ラベル名を「X軸」「Y軸」という名称に設定しています。24,25行目の、XAxis, YAxis のTitleプロパティを設定することで、軸ラベル名(軸名称)を設定できます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

// Chartクラス関連の変数の宣言を簡略化するために
// Usingを追加しています
using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();

            // FormにChartコントロール(chart2)を
            // 貼り付け済みであることを前提にしています。


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

            //
            // 貼り付けたChartコントロールには、
            // 初期値のデータがセットされているので、一旦クリアします
            //
            chart2.ChartAreas.Clear();
            chart2.Series.Clear();

            // 「chartArea」という名前のエリアを生成します
            ChartArea chartArea = new ChartArea("chartArea");

            //
            // X軸、Y軸のラベルを設定します。
            //
            chartArea.AxisX.Title = "X軸";
            chartArea.AxisY.Title = "Y軸";

            // 生成したエリアをChartコントロールに追加します。
            chart2.ChartAreas.Add(chartArea);

            // Series(系列)を生成します
            Series series = new Series();

            // 系列の種類を散布図に設定します
            series.ChartType = SeriesChartType.Line;

            // 系列の凡例を設置します
            series.LegendText = "凡例1";

            // 系列のポイント情報をセットします
            for ( int i=0; i<5; i++ )
            {
                series.Points.AddXY(pointX[i], pointY[i]);
            }

            // 生成・設定した系列をChartコントロールに追加します
            chart2.Series.Add(series);
        }
    }
}

※ 2021/05/03 スペルミス修正しました「chartAria」->「chartArea」

グラフ以外のコントロールについても知りたい

「Chart以外のコントロールも使いたい」「コントロールを使うためのC#も知りたい」という方は以下の本をおすすめします。コントロールなどフォームを作るためには、コントロールの使い方に加えて、C#自体についても知る必要があります。

以下の本であれば、プログラムはなぜ動くのか?からC#についての基礎知識・コントロール(デスクトップアプリ)の作り方・デバッグ方法などが、イラスト入りで分かりやすく解説されています。

「ネットで十分じゃない?」という意見もあるかと思いますが、本で勉強をすると一冊で基礎~応用までの知識を体系的に学ぶことができるのでオススメです。

楽天ブックス
¥2,640 (2021/12/18 00:26時点 | 楽天市場調べ)
\楽天ポイント5倍セール!/
楽天市場

まとめ

Chartクラスで軸ラベルを設定する方法をご紹介しました。軸ラベルの設定方法でお悩みのかたの参考になればうれしいです。

伝わるグラフを作る

せっかくChartでグラフを表示しても、伝わらないグラフになったら意味がありません。「そもそもどんなグラフにしたらユーザーに分かりやすいか?」を知っておくのも、良いプログラマーの重要な要素です。

\楽天ポイント5倍セール!/
楽天市場

軸ラベル以外のカスタム方法

以下の記事で、Chartコントロールの「凡例を非表示にする方法」、「凡例の表示位置変更」「グラフの表示範囲を変更する」「X軸を日付にする」などのカスタム方法について解説しています。よろしければ、以下の記事もご覧ください。

凡例を非常時にする

凡例の位置を変更する

表示範囲を変更する

X軸を日にちにする


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

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

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

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

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です