SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(True WinChart)

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

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

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

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

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

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

 この操作は、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品です。

 

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(True WinChart)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1058 2009/03/17 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング