OxyPlotでグラフの見栄えを変えてみる①

 この記事では前回の記事(OxyPlotで折れ線グラフを表示してみる②)で作成した折れ線グラフを用いて、凡例の表示やグラフタイトルの色の変更など、グラフに関わる装飾について紹介します。次回はグラフの装飾の続きと、グラフ上でアノテーションを追加する方法を紹介します。

 ※尚、前回の記事(OxyPlotで折れ線グラフを表示してみる①~②)の折れ線グラフを用いて紹介しております。折れ線グラフの作成方法については前回の記事(OxyPlotで折れ線グラフを表示してみる①~②)を参考にしてください。

凡例の表示

 OxyPlotではグラフ上に凡例を表示させることが可能です。左上や右下、中央といったように様々な位置に対して凡例を表示できます。
 凡例の表示方法については次の手順で設定し、凡例を表示することが可能です。

1.凡例を使うためのクラスを定義

 OxyPlotでは凡例を使うためのクラスが用意されています。そのクラスを定義し、クラス内のメソッドを利用することで、凡例の設定が可能になります。まず次のコードのように凡例を使うためのクラスを用意する名義を行います。

 次にLegendクラスというクラスのインスタンスを作成し、凡例用クラスを定義します。Legendクラスが凡例を扱うためのクラスになり、このクラスをグラフに登録することで凡例を表示することができます。

2.凡例の表示位置

 1にて作成したLegendクラスのインスタンスを使用し、表示位置や余白の設定・フォントの設定などを行うことが可能です。表示位置を変更する場合は以下の通り、Legendクラスが持つLegendPositionプロパティを使用し、左上や右下など[LegendPosition]が持つ選択肢から設定します。LegendPositionにはRightTopやLeftTopといったように表示位置を表すプロパティが用意されています。

3.凡例の余白設定

 次に凡例内における余白を設定します。余白を設定する場合はLegendクラスが持つLegendMarginというプロパティを使用します。
 LegendMarginを0にすると余白なしになり、0以上の数値を入れることで縦横均等の比率で余白が作られます。

4.凡例のフォント設定

 legendクラスのインスタンスが持つFontFontSizeを設定することでFontスタイルとサイズを変更することができます。またFontWeightを使用することでフォントの太さを設定できます。(FontWeightはNormalかBoldのいずれかを設定します)

 ※なお、フォントの色を変更する場合は、以下の通りlegendインスタンスが持つLegendTextColorプロパティを指定し、色を変更します。色指定はOxyColorsからそれぞれ決められた色項目で指定するか、OxyColorでRGB形式で指定します。

5.凡例のグラフ登録

 次に設定した凡例用インスタンスを用いて、実際にグラフに表示させるために必要な登録処理を行う必要があります。登録するには、次のコードの通りに設定することで、グラフ上に設定した表示位置にて凡例が表示されるようになります。

 以上が凡例を表示するための一通りの設定と流れになります。凡例の設定には、他にも凡例自体の背景色を変えたり、凡例のスタイルを変えたりすることが可能で、場面に合わせて使い分けることができます。
 ※凡例表示における注意点としては、グラフ上に線毎とのタイトルと凡例を表示する場合、線自体の追加時に「RenderInLegendプロパティ」をtrueにする必要があります。falseの場合は線タイトルが凡例として表示されません。

 

タイトル設定

 OxyPlotではグラフタイトルについても、表示位置や色の設定などが可能です。ここでは簡単にグラフタイトルの設定方法について紹介します。

1.タイトル名

 OxyPlotでタイトル名を設定・変更する場合にはModelが持つTitleプロパティを使用することで設定が可能です。
 

2.フォント及び色設定

 OxyPlotでタイトルのフォントや色を変更するには、以下のコードのように設定します。フォントスタイルを変更する場合は、グラフがもつModelのTileFontプロパティを使用し、フォントサイズ変更の場合はTitleFontSizeプロパティを、色の変更の場合はTitleColorプロパティを利用します。また、フォントの太さもFontWeightプロパティにて変更することができます。

3.余白設定

 Titleとグラフ間の余白についても設定することが可能で、ModelがもつTitlePaddingプロパティを変更することで、余白を設定することが可能です。TitlePaddingプロパティはフォントサイズにもよりますが0~500の数値範囲で設定することができます。

4.サブタイトル設定

 OxyPlotではタイトルの下に、サブタイトルを設定することが可能です。サブタイトルの変更可能な箇所は、タイトルの設定と同じようにフォントや色で、場面に合わせてサブタイトルを表示することができます。
 

まとめ

 この記事ではOxyPlotにおける凡例とタイトル、及びサブタイトルの変更方法について紹介しました。描画するグラフの用途に合わせて凡例表示やタイトルの設定を簡易的に変更することが可能です。

 次回の記事では、引き続きグラフの装飾関係について紹介し、OxyPlotで使用できるグラフ内のアノテーションについて記載します。

 
 

お問い合わせはこちら