近似曲線は、データの傾向を示し、予測問題の検討に利用されるツールです。価格チャートや金融チャートで使用されるのが多いですが、株価のテクニカル分析で使用される取引指標、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のクイックスタートを参照してください。

<SeriesList></SeriesList>タグ内に以下のマークアップを追加してグラフに近似曲線を追加します。
| SourceView |
コードのコピー
|
|---|---|
<cc1:CompositeChartSeries 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:CompositeChartSeries> |
|
Page_Loadイベントに以下のコードを追加することでチャートに近似曲線を追加できます。
C#コードの書き方
| C# |
コードのコピー
|
|---|---|
// 新規系列を作成します。
varseriesTrendline = new CompositeChartSeries();
seriesTrendline.IsTrendline = true;
seriesTrendline.Label = "Trendline";
seriesTrendline.TrendlineSeries.FitType = TrendlineFitType.Polynom;
seriesTrendline.TrendlineSeries.Order = 4;
seriesTrendline.TrendlineSeries.SampleCount = 100;
// チャートに系列を追加します。
this.C1CompositeChart1.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 CompositeChartSeries()
seriesTrendline.IsTrendline = True
seriesTrendline.Label = "Trendline"
seriesTrendline.TrendlineSeries.FitType = TrendlineFitType.Polynom
seriesTrendline.TrendlineSeries.Order = 4
seriesTrendline.TrendlineSeries.SampleCount = 100
' チャートに系列を追加します。
Me.C1CompositeChart1.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)
|
|
プロジェクトを実行すると、チャートに緑色の近似曲線が表示されます。
