Chart

【C#】Chart 凡例を非表示にする方法

はじめに

Chartコントロールで、凡例を非表示にする方法を解説します。
結論を先に言ってしまうと、IsVisibleInLegendをFalseに設定することで、非表示にすることができます。

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

環境

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

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

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

実行結果

後述するコードを実行すると、下図の右側のように凡例を無効化したグラフを作成できます。

全体コード

散布図を表示するコードを使って解説します。
表示の無効化は53行目の「series.IsVisibleInLegend = false;」の一行のみです。

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 Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();

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

            // サンプル用のデータです。 
            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コントロールには、
            // 初期値のデータがセットされているので、一旦クリアします
            //
            chart1.ChartAreas.Clear();
            chart1.Series.Clear();

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

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

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

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

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

            // 系列の凡例を無効化します
            series.IsVisibleInLegend = false;

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

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

        }
    }
}

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

凡例を設定していても IsVIsibleInLegendで非表示

無効化は、「series.IsVisibleInLegend」を「false」に設定することで実現できます。
※ Trueの場合は表示

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

            // 系列の凡例を無効化します
            series.IsVisibleInLegend = false;

上のように「series.LegendText」で、凡例の表示内容を設定している場合でも、「isVisibleInLegend」をfalseにすることで、凡例は非表示になります。

まとめ

Chartコントロールで凡例を非表示にする方法について解説しました。凡例の設定方法でお困りの方の方の参考になればうれしいです。

【おすすめ】UdemyでC#のスキルを上げる

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

1講座 2440円程度で返金保証あり。視聴期間無制限なので「自分のペースでコスパ良くスキルアップしたい」「失敗したくない」という方におすすめです。

⇒ C#の講座一覧はこちら
icon

その他のカスタマイズ

このブログでは、凡例の非表示以外にも「凡例の表示位置を変える」「X軸を日時にする」などのカスタム方法を紹介しています。興味のあるかは以下の記事も併せてご覧ください。

凡例の表示位置を変更する

X軸を日時にする

質問・要望 大歓迎です

「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。

使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。

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

COMMENT

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