ScatterChart for ASP.NET Web Forms
近似曲線

近似曲線は、データの傾向を示し、予測問題の検討に利用されるツールです。価格チャートや金融チャートで使用されるのが多いですが、株価のテクニカル分析で使用される取引指標、MACD(Moving Average Convergence Divergence、移動平均収束拡散法)や金融市場の解析に使用されるテクニカル指標、RSI(Relative Strength Index、相対力指数)のようなテクニカル分析グラフでも使用されます。

近似曲線の種類

以下の一覧で対応するすべてのFitTypesが説明されています。近似曲線の各種類がそれぞれの計算式に基づいて作成されます。

FitType 説明 例画像
Polynom データが変動する場合に使用される曲線です。大量のデータで利益や損失を分析するのに採用されます。
Exponent データ値の増減率が高くなっていく場合に適します。0 または負の値が含まれているデータの場合、指数近似曲線を作成できません。
Logarithmic データの可視化に最適する曲線です。データの変化率が急速に増加または減少してから平になる場合に適します。この曲線では負の値と正の値を使用できます。
Power 特定な比率で増加する測定を比較するデータセットの場合に適します。たとえば、超特急列車の加速を 1 秒間隔で計測した値など。
Fourier フーリエ級数式で作成され、波動関数を簡単な正弦波の組み合わせとして表示する方法です。
Min X グラフからXの最小値を取得して近似曲線を作成します。
Min Y >グラフからYの最小値を取得して近似曲線を作成します。
Max X グラフからXの最大値を取得して近似曲線を作成します
Max Y グラフからYの最大値を取得して近似曲線を作成します。
Average X グラフからXの平均値を取得して近似曲線を作成します。
Average Y グラフからYの平均値を取得して近似曲線を作成します。

近似曲線をデザイナまたは、ソースビューやコードでも追加できます。C1BarChartに近似曲線を追加するには、以下の手順に従います。

デザインビューの場合

以下の手順では、チャートにデータが追加されていることを前提します。詳細については、C1BarChartのクイックスタートを参照してください。

  1. ScatterChart スマートタグをクリックし、[C1ScatterChart タスク]メニューから シリーズ一覧 を選択します。 ScatterChartSeries コレクションエディターが表示されます。
  2. ScatterChartSeriesコレクションエディターで、〈追加〉ボタンをクリックして、新しい ScatterChartSeries をBarChartに追加します。
  3. 新規に追加された系列のisTrendlineプロパティをTrueに設定します。
  4. Trendline Seriesのプロパティグループを展開して以下のプロパティを設定できます。

    • FitType -近似曲線の種類を指定します。
    • SampleCount-近似曲線の関数計算用にサンプルカウントを指定します。FitTypeがpolynom、power、exponent、logarithmicやfourierの場合のみ機能します。
    • Order - 多項式の次数を指定します。FitTypeがpolynom、power、exponent、logarithmicやfourierの場合のみ機能します。
  5. TrendlineSeries.DataのプロパティグループにあるTrendlineSeries.Data.X.Valuesプロパティの横にある〈...〉ボタンをクリックしてChartXData コレクションエディターを開きます。
  6. X軸に表示される値を入力して、OKをクリックします。
  7. TrendlineSeries.DataのプロパティグループにあるTrendlineSeries.Data.Y.Valuesプロパティの横にある〈...〉ボタンをクリックしてChartYData コレクションエディターを開きます。
  8. Y軸に表示される値を入力して、OKをクリックします。
  9. FitTypeプロパティ、OrderプロパティとSampleCountプロパティを設定します。
  10. OK〉をクリックして保存し、ScatterChartSeriesコレクションエディターを閉じます。

ソースビューの場合

<SeriesList></SeriesList>タグ内に以下のマークアップを追加してグラフに近似曲線を追加します。

SourceView
コードのコピー
<cc1:ScatterChartSeries  LegendEntry="True" IsTrendline="true">

 <TrendlineSeries FitType="Polynom">
         <Data>
             <X>
                 <Values>
                       <cc1:ChartXData StringValue="QTR1" />
                       <cc1:ChartXData StringValue="QTR2" />
                       <cc1:ChartXData StringValue="QTR3" />
                       <cc1:ChartXData StringValue="QTR4" />
                 </Values>
             </X>
              <Y>
                 <Values>
                     <cc1:ChartYData DoubleValue="13" />
                     <cc1:ChartYData DoubleValue="4"  />
                     <cc1:ChartYData DoubleValue="18" />
                     <cc1:ChartYData DoubleValue="8"  />
                 </Values>
             </Y>
         </Data>
</TrendlineSeries>

</cc1:ScatterChartSeries>
        

コードの場合

Page_Loadイベントに以下のコードを追加することでチャートに近似曲線を追加できます。

C#コードの書き方

C#
コードのコピー
 
                        
// 新規系列を作成します。
varseriesTrendline = new ScatterChartSeries();
seriesTrendline.IsTrendline = true;
seriesTrendline.Label = "Trendline";
seriesTrendline.TrendlineSeries.FitType = TrendlineFitType.Polynom;
seriesTrendline.TrendlineSeries.Order = 4;
seriesTrendline.TrendlineSeries.SampleCount = 100;

// チャートに系列を追加します。
this.C1BarChart1.SeriesList.Add(seriesTrendline);

// X軸のデータを追加します。
seriesTrendline.TrendlineSeries.Data.X.Add("QTR1");
seriesTrendline.TrendlineSeries.Data.X.Add("QTR2");
seriesTrendline.TrendlineSeries.Data.X.Add("QTR3");
seriesTrendline.TrendlineSeries.Data.X.Add("QTR4");

// Y軸のデータを追加します。
seriesTrendline.TrendlineSeries.Data.Y.Add(13);
seriesTrendline.TrendlineSeries.Data.Y.Add(4);
seriesTrendline.TrendlineSeries.Data.Y.Add(18);
seriesTrendline.TrendlineSeries.Data.Y.Add(8);
     

Visual Basicコードの書き方

VB
コードのコピー
 
                        
'新規系列を作成します。
Dim seriesTrendline = New ScatterChartSeries()
seriesTrendline.IsTrendline = True
seriesTrendline.Label = "Trendline"
seriesTrendline.TrendlineSeries.FitType = TrendlineFitType.Polynom
seriesTrendline.TrendlineSeries.Order = 4
seriesTrendline.TrendlineSeries.SampleCount = 100

' チャートに系列を追加します。
Me.C1BarChart1.SeriesList.Add(seriesTrendline)

' X軸のデータを追加します。
seriesTrendline.TrendlineSeries.Data.X.Add("QTR1")
seriesTrendline.TrendlineSeries.Data.X.Add("QTR2")
seriesTrendline.TrendlineSeries.Data.X.Add("QTR3")
seriesTrendline.TrendlineSeries.Data.X.Add("QTR4")

' Y軸のデータを追加します。
seriesTrendline.TrendlineSeries.Data.Y.Add(13)
seriesTrendline.TrendlineSeries.Data.Y.Add(4)
seriesTrendline.TrendlineSeries.Data.Y.Add(18)
seriesTrendline.TrendlineSeries.Data.Y.Add(8)
     

このトピックの作業結果

プロジェクトを実行すると、チャートに緑色の近似曲線が表示されます。