SHOEISHA iD

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

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

ComponentZine(ComponentOne)

WebページでSilverlightのグラフを使ってみる

ComponentOne Studio for SilverlightのChartコントロールを使ったWebページの作成

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

ComponentOne Studio for Silverlight Chartコントロールの作成

 Gridを設定したら、1行目にChartコントロールを作成していきます。今回は、すべてXAMLで記述します。

グラフの作成

 まず、NameプロパティでChartコントロールに名前を付けます。これは後からコードビハインドで処理を組み立てる際、Chartコントロールを指定するのに使用します。

 また、ChartTypeプロパティでグラフの種類を指定します。「Bar」を指定すると横棒グラフが作成されます。そして、Gridのどこに作成するのかをGridのColumnとRowプロパティで指定します。Gridの行・列は「0」から始まるので、その番号をプロパティ値に指定します。

<c1chart:C1Chart x:Name="chart0" ChartType="Bar" Grid.Column="0" Grid.Row="0">

データの作成

 グラフの元データをXAMLで作成してグラフに設定します。これは、ChartクラスのDataプロパティに、ChartData/DataSeriesクラスの各プロパティを設定して指定します。ChartDataクラスのItemNamesプロパティは、グラフの縦軸の項目名を設定します。

 DataSeriesクラスのLabelプロパティはデータラベルを設定し、Valuesプロパティにデータを設定します。データはそれぞれ空白で区切ります。ここでは、2種類のデータを5つずつ設定します。

<c1chart:C1Chart.Data>
	<c1chart:ChartData ItemNames="data1 data2 data3 data4 data5" >
    	<c1chart:DataSeries Label="s1" Values="2 2 2 2 2" />
        <c1chart:DataSeries Label="s2" Values="4 4 4 4 4" />
    </c1chart:ChartData>
</c1chart:C1Chart.Data>

軸の設定

 データを設定したら、グラフの軸を作成します。横棒グラフでは、通常、横軸にデータ値の目盛(注釈)を、縦軸にデータ項目名を表示するので、これを設定します。

 設定するのはChartクラスのViewプロパティで、Axisクラスのプロパティを使用します。まず、値の範囲をMinとMaxプロパティで設定します。「AnnoFormat」「AnnoAngle」は横軸(X軸)の注釈の書式と表示角度を設定します。ここでは、通貨表示で文字を45度の角度で表示するようにしています。

 また、縦軸(Y軸)は下から上にデータ名が並ぶようにするので、Reversedプロパティを「True」に設定します。

<c1chart:C1Chart.View>
	<c1chart:ChartView>
    	<c1chart:ChartView.AxisX>
        	<c1chart:Axis Min="0" Max="9" AnnoFormat="c" AnnoAngle="45" MajorUnit="1"/>
        </c1chart:ChartView.AxisX>
        <c1chart:ChartView.AxisY>
        	<c1chart:Axis Reversed="True"/>
        </c1chart:ChartView.AxisY>
    </c1chart:ChartView>
</c1chart:C1Chart.View>

 これで、グラフの基本的な設定は完了です。プロジェクトを実行すると、次のようなグラフが表示されます。

作成したグラフ
作成したグラフ

グラフのカスタマイズ

 ひとまずグラフが完成しましたが、このままではちょっと味気ないですね。そこで、個々のグラフの色を変えてみます。

 まず、グラフの背景色を変えます。これは、ChartクラスのBackgroundプロパティに、色の名前で記述します。

<c1chart:C1Chart x:Name="chart0" ChartType="Bar" Grid.Column="0" Grid.Row="0" Background="LightBlue">

 また、各データの棒の色は、それぞれデータを設定したDataSeriesクラスのSymbolFillプロパティに名前を記述します。

<c1chart:DataSeries Label="s1" Values="2 2 2 2 2" SymbolFill="Aquamarine"/>
<c1chart:DataSeries Label="s2" Values="4 4 4 4 4" SymbolFill="Coral"/>

 このように、グラフの各要素の色を変え、グラフを装飾することが可能です。

色を設定したグラフ
色を設定したグラフ

テーマを使用したカスタマイズ

 また、Chartコントロールの特徴であるテーマを使うと、簡単にグラフを装飾できます。

 先ほど設定したBackgroundとSymbolFillプロパティを削除し、ChartクラスにThemeプロパティを記述します。すると、あらかじめ用意されているテーマの名前がリスト表示されます。今回は「DuskGreen」を選びます。これで、このテーマに設定されている配色でグラフが飾られ、ぐっと訴求力の高い表現のグラフに変わります。

<c1chart:C1Chart x:Name="chart0" ChartType="Bar" Grid.Column="0" Grid.Row="0" Theme="DuskGreen">
テーマDuskGreenの配色のグラフ
テーマDuskGreenの配色のグラフ
テーマOffice2003Royaleの配色のグラフ
テーマOffice2003Royaleの配色のグラフ

次のページ
コードからの操作

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング