CodeZine(コードジン)

特集ページ一覧

アプリケーションに表現力豊かなグラフを実装する

True WinChart for .NETコンポーネントによる豊かな表現のグラフ作成

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/02/28 09:50
目次

特定のデータ点を強調表示

 グラフの特定のデータ点にマウスポインタを重ねると、そのデータ点だけを強調表示させることができます。

マウスポインタを重ねるとそのデータ点が強調表示される
マウスポインタを重ねるとそのデータ点が強調表示される

 この操作は、HighLightクラスのプロパティを使用します。まず、いつの時点でハイライト表示にするのかを、Activationプロパティに設定します。ここでは、マウスポインタを重ねたときにそのデータだけをハイライト表示にするために、「MouseOver」を指定します。

 そして、FillStyle.Color1プロパティにハイライト時の色を設定します。

VB.NETのコード
With Me.C1Chart1.ChartGroups(1).ChartData.HighLight
   .Activation = C1.Win.C1Chart.HighlightActivationEnum.MouseOver
   .FillStyle.Color1 = Color.BlueViolet
End With
C#のコード
c1Chart1.ChartGroups.Group1.ChartData.HighLight.Activation =
   C1.Win.C1Chart.HighlightActivationEnum.MouseOver;
c1Chart1.ChartGroups.Group1.ChartData.HighLight.FillStyle.Color1 =
   Color.BlueViolet;

データ点ラベルの挿入

 特定のデータ点にラベルを挿入することもできます。

特定のデータ点にラベルを挿入する
特定のデータ点にラベルを挿入する

 これは、Labelクラスを使用します。まず、LabelsCollectionコレクションのAddNewLabelメソッドで新しいラベルを作成します。そして、AttachMethodプロパティにどのような形でラベルを設定するのかを指定します。

 特定のデータ点にラベルを表示する場合は、AttachMethodEnum列挙体のDataIndexメンバを指定し、GroupIndexプロパティでデータグループを、PointIndexプロパティでデータ配列の位置を、SeriesIndexで複数のデータシリーズがある場合はシリーズのインデックス番号を指定します。

 このグラフでは、データシリーズは1つしかありませんから「0」を、データグループは2つ目の花粉量のデータを指定するので「1」を、データ点は大阪のデータにラベルを配置するので、配列のインデックス「3」を指定します。

VB.NETのコード
With Me.C1Chart1.ChartLabels.LabelsCollection.AddNewLabel
   .AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
   .AttachMethodData.GroupIndex = 1
   .AttachMethodData.PointIndex = 3
   .AttachMethodData.SeriesIndex = 0
C#のコード
C1.Win.C1Chart.Label lb =
   c1Chart1.ChartLabels.LabelsCollection.AddNewLabel();

lb.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex;
lb.AttachMethodData.GroupIndex = 1;
lb.AttachMethodData.PointIndex = 3;
lb.AttachMethodData.SeriesIndex = 0;
lb.Style.ForeColor = Color.Blue;

 ラベルの文字はTextプロパティに設定し、Styleプロパティでフォントを指定します。

VB.NETのコード
   .Text = Me.TextBox1.Text
   .Visible = True
   .Style.Font = New Font(Me.Font.FontFamily, 12, FontStyle.Bold)
   .Style.ForeColor = Color.Blue
End With
C#のコード
lb.Text = this.TextBox1.Text;
lb.Visible = true;
lb.Style.Font = new Font(this.Font.FontFamily, 12, FontStyle.Bold);

 設定したラベルを削除するには、コレクションのRemove、RemoveAll、RemoveAtメソッドを使用します。

VB.NETのコード
Me.C1Chart1.ChartLabels.LabelsCollection.RemoveAll()
C#のコード
c1Chart1.ChartLabels.LabelsCollection.RemoveAll();

まとめ

 グラフを活用するアプリケーションでは、たとえば最大値を強調表示したり注釈を入れるなど、グラフの補助機能が充実しているコンポーネントを使うことで、訴求力のあるアプリケーションに仕上げることができると思います。もし、グラフ機能搭載のアプリケーション開発で苦労しておられるのなら、このTrue WinChart for .NETコンポーネントはオススメの1品です。

 


  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:ComponentZine(True WinChart)
All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5