ComponentOne Studio TrueChart for ASP.NET (C1WebChart2D) ヘルプ
XY プロット(散布図)
C1Chart の使い方 > C1Chart の標準的なグラフの概要 > XY プロット(散布図)

棒グラフと円グラフは、単一の値を使用して各データ点(価格、在庫数、または再注文レベル)を表します。それに対し、XY プロットグラフは、各データ点を表すのに2つの値を使用します。これらは、2次元のデータ間の関係を示す場合に便利で、データの統計分析でよく使用されます。

たとえば、以下のグラフは製品の単価と売上の関係を表した XY プロットを示します。


この種類のグラフは、変数間の関係を数量化する統計方法(一般的には、線形回帰分析)をサポートするためによく使用されます。たとえば、上記のグラフは相対的に他のデータ点から離れている 250 ドルより高い単価を持つ点を示します。線形回帰では、このデータ点は「異常値」と呼ばれ、データセットの他のデータ点より分析結果に大きく影響します。

XY プロットグラフもそれ自体、関係の質的な局面を示す場合に便利です。たとえば、単価に関連する売上はどうでしょうか?この例では、データは特定の関係があると示唆するようにみえます。おそらく、顧客は高価な製品は NorthWind から購買し、安価な製品は地域のスーパーマーケットで購買することを選びます。

グラフの作成に使用するコードは以下のとおりです。これは、棒グラフの作成に使用したコードと非常に類似していますが、この場合、一連のX 値だけを使用する代わりに、X 値と Y 値を設定している点が異なります。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' グラフデータを取得します。
Dim data As DataView = _dataSet.Tables("Sales").DefaultView
data.Sort = "UnitPrice"

' グラフを設定します。
C1Chart1.Reset()
C1Chart1.ChartGroups(0).ChartType = Chart2DTypeEnum.XYPlot

' 「製品価格 vs 売上」データセットを作成します。
Dim dscoll As ChartDataSeriesCollection = _
C1Chart1.ChartGroups(0).ChartData.SeriesList;
dscoll.Clear();

Dim series As ChartDataSeries = dscoll.AddNewSeries()

' シンボルのみを表示します(線は非表示)。
series.SymbolStyle.Color = Color.Green
series.SymbolStyle.OutlineColor = Color.Black
series.LineStyle.Pattern = LinePatternEnum.None

' データセットにデータを入力します。
series.PointData.Length = data.Count
Dim i As Integer
For i = 0 To data.Count ? 1
        series.X(i) = data(i)("UnitPrice")
        series.Y(i) = data(i)("ProductSales")
Next I

' 製品名を X 軸に添付します。
Dim ax As Axis = C1Chart1.ChartArea.AxisX
ax.Text = "Unit Price (US$)"
ax.AnnoFormat = FormatEnum.NumericCurrency
ax.GridMajor.Visible = True

' Y 軸を設定します。
Dim ay As Axis = C1Chart1.ChartArea.AxisY
ay.Text = "Sales (thousand US$)"
ay.AnnoFormat = FormatEnum.NumericManual
ay.AnnoFormatString = "$#,##0,"
ay.GridMajor.Visible = True

C# コードの書き方

C#
コードのコピー
// グラフデータを取得します。
DataView data = _dataSet.Tables["Sales"].DefaultView;
data.Sort = "UnitPrice";

// グラフを設定します。
c1Chart1.Reset();
c1Chart1.ChartGroups[0].ChartType = Chart2DTypeEnum.XYPlot;

// 「製品価格 vs 売上」データセットを作成します。
ChartDataSeriesCollection
dscoll = c1Chart1.ChartGroups[0].ChartData.SeriesList;
dscoll.Clear();
ChartDataSeries series = dscoll.AddNewSeries();

// シンボルのみを表示します(線は非表示)。
series.SymbolStyle.Color = Color.Green;
series.SymbolStyle.OutlineColor = Color.Black;
series.LineStyle.Pattern = LinePatternEnum.None;

// データセットにデータを入力します。
series.PointData.Length = data.Count;
for (int i = 0; i < data.Count; i++)
{
        series.X[i] = data[i]["UnitPrice"];
        series.Y[i] = data[i]["ProductSales"];
}

// 製品名を X 軸に添付します。
Axis ax = c1Chart1.ChartArea.AxisX;
ax.Text = "Unit Price (US$)";
ax.AnnoFormat = FormatEnum.NumericCurrency;
ax.GridMajor.Visible = true;

// Y 軸を設定します。
Axis ay = c1Chart1.ChartArea.AxisY;
ay.Text = "Sales (thousand US$)";
ay.AnnoFormat = FormatEnum.NumericManual;
ay.AnnoFormatString = "$#,##0,";
ay.GridMajor.Visible = true;