MESCIUS SPREAD for ASP.NET 10.0J
SPREAD上でのチャートの使用

SPREADのシート上にチャートを作成するには、次のいずれかの方法を使用します。

チャートデザイナでの追加方法については「チャートの追加」および「チャートの設定」を参照してください。ここでは、コードでの設定方法について解説します。

また、チャートに表示するプロットエリアの作成方法については「プロットの作成」で説明しています。

SPREADのシート上に配置したチャートはSpreadChartクラスのインスタンスです。DataSettingプロパティで、空白セルデータをチャートでどのように表示するかなどチャートのデータに関する設定を取得、および変更できます。
AddChartメソッドを使用した作成方法

AddChart メソッドを使用して、チャートコントロールをSPREADシートに追加します。AddChart メソッドのパラメータにはセル範囲、系列、チャートのサイズ、位置および凡例を表示するかどうかを指定できます。

サンプルコード

次のサンプルコードは、AddChart メソッドを使用してチャートコントロールを追加する方法を示します。

FpSpread1.Sheets[0].RowCount = 10;
FpSpread1.Sheets[0].ColumnCount = 10;
FpSpread1.Sheets[0].Cells[0, 0].Value = 3;
FpSpread1.Sheets[0].Cells[1, 1].Value = 7;
FpSpread1.Sheets[0].Cells[2, 2].Value = 7;
FpSpread1.Sheets[0].Cells[3, 3].Value = 5;
FarPoint.Web.Spread.Chart.SpreadChart chart = new FarPoint.Web.Spread.Chart.SpreadChart("Sheet1!$A$2:$A$7", "Sheet1!$B$1:$D$1", "Sheet1!$B$2:$D$7", typeof(FarPoint.Web.Chart.BarSeries));
FpSpread1.Sheets[0].Charts.Add(chart);
FpSpread1.Sheets(0).RowCount = 10
FpSpread1.Sheets(0).ColumnCount = 10
FpSpread1.Sheets(0).Cells(0, 0).Value = 3
FpSpread1.Sheets(0).Cells(1, 1).Value = 7
FpSpread1.Sheets(0).Cells(2, 2).Value = 7
FpSpread1.Sheets(0).Cells(3, 3).Value = 5
Dim chart As New FarPoint.Web.Spread.Chart.SpreadChart("Sheet1!$A$2:$A$7", "Sheet1!$B$1:$D$1", "Sheet1!$B$2:$D$7", GetType(FarPoint.Web.Chart.BarSeries))
FpSpread1.Sheets(0).Charts.Add(chart)       

次のサンプルコードは、セルの範囲指定にCellRange クラス を使用しています。

FpSpread1.Sheets[0].RowCount = 10;
FpSpread1.Sheets[0].ColumnCount = 10;
FpSpread1.Sheets[0].Cells[0, 1].Value = "c1";
FpSpread1.Sheets[0].Cells[0, 2].Value = "c2";
FpSpread1.Sheets[0].Cells[0, 3].Value = "c3";
FpSpread1.Sheets[0].Cells[1, 0].Value = "s1";
FpSpread1.Sheets[0].Cells[2, 0].Value = "s2";
FpSpread1.Sheets[0].Cells[3, 0].Value = "s3";
FpSpread1.Sheets[0].Cells[4, 0].Value = "s4";
FpSpread1.Sheets[0].Cells[1, 1].Value = 1;
FpSpread1.Sheets[0].Cells[2, 1].Value = 2;
FpSpread1.Sheets[0].Cells[3, 1].Value = 3;
FpSpread1.Sheets[0].Cells[4, 1].Value = 4;
FpSpread1.Sheets[0].Cells[1, 2].Value = 7;
FpSpread1.Sheets[0].Cells[2, 2].Value = 8;
FpSpread1.Sheets[0].Cells[3, 2].Value = 9;
FpSpread1.Sheets[0].Cells[4, 2].Value = 10;
FpSpread1.Sheets[0].Cells[1, 3].Value = 13;
FpSpread1.Sheets[0].Cells[2, 3].Value = 14;
FpSpread1.Sheets[0].Cells[3, 3].Value = 15;
FpSpread1.Sheets[0].Cells[4, 3].Value = 16;
FarPoint.Web.Spread.Model.CellRange range = new FarPoint.Web.Spread.Model.CellRange(0, 0, 4, 4);
FpSpread1.Sheets[0].AddChart(range, typeof(FarPoint.Web.Chart.ClusteredBarSeries), 200, 200, 0, 0, FarPoint.Web.Chart.ChartViewType.View3D, false);
FpSpread1.Sheets(0).RowCount = 10
FpSpread1.Sheets(0).ColumnCount = 10
FpSpread1.Sheets(0).Cells(1, 0).Value = "s1"
FpSpread1.Sheets(0).Cells(2, 0).Value = "s2"
FpSpread1.Sheets(0).Cells(3, 0).Value = "s3"
FpSpread1.Sheets(0).Cells(4, 0).Value = "s4"
FpSpread1.Sheets(0).Cells(0, 1).Value = "c1"
FpSpread1.Sheets(0).Cells(1, 1).Value = 1
FpSpread1.Sheets(0).Cells(2, 1).Value = 2
FpSpread1.Sheets(0).Cells(3, 1).Value = 3
FpSpread1.Sheets(0).Cells(4, 1).Value = 4
FpSpread1.Sheets(0).Cells(0, 2).Value = "c2"
FpSpread1.Sheets(0).Cells(1, 2).Value = 7
FpSpread1.Sheets(0).Cells(2, 2).Value = 8
FpSpread1.Sheets(0).Cells(3, 2).Value = 9
FpSpread1.Sheets(0).Cells(4, 2).Value = 10
FpSpread1.Sheets(0).Cells(0, 3).Value = "c3"
FpSpread1.Sheets(0).Cells(1, 3).Value = 13
FpSpread1.Sheets(0).Cells(2, 3).Value = 14
FpSpread1.Sheets(0).Cells(3, 3).Value = 15
FpSpread1.Sheets(0).Cells(4, 3).Value = 16
Dim range As New FarPoint.Web.Spread.Model.CellRange(0, 0, 4, 4)
FpSpread1.Sheets(0).AddChart(range, GetType(FarPoint.Web.Chart.ClusteredBarSeries), 200, 200, 0, 0,
FarPoint.Web.Chart.ChartViewType.View3D, False)       
SpreadChart オブジェクトを使用した作成方法

SpreadChart オブジェクトを生成し、SPREADシートのCharts プロパティが参照するSpreadChartCollection コレクションに追加します。
このとき、プロットエリア、ラベル、凡例のコレクションを追加したチャートモデル(ChartModel クラス)を生成し、SpreadChart クラスのModel プロパティ に設定することができます。

サンプルコード

次のサンプルコードは、Yプロットチャートを作成し、非連結データをコントロールに追加します。

FarPoint.Web.Chart.BarSeries series = new FarPoint.Web.Chart.BarSeries();
series.SeriesName = "Series 0";
series.Values.Add(2.0);
series.Values.Add(4.0);
series.Values.Add(3.0);
series.Values.Add(5.0);
FarPoint.Web.Chart.YPlotArea plotArea = new FarPoint.Web.Chart.YPlotArea();
plotArea.Location = new System.Drawing.PointF(0.2f, 0.2f);
plotArea.Size = new System.Drawing.SizeF(0.6f, 0.6f);
plotArea.Series.Add(series);
FarPoint.Web.Chart.LabelArea label = new FarPoint.Web.Chart.LabelArea();
label.Text = "Bar Chart";
label.Location = new System.Drawing.PointF(0.5f, 0.02f);
label.AlignmentX = 0.5f;
label.AlignmentY = 0.0f;
FarPoint.Web.Chart.LegendArea legend = new FarPoint.Web.Chart.LegendArea();
legend.Location = new System.Drawing.PointF(0.98f, 0.5f);
legend.AlignmentX = 1.0f;
legend.AlignmentY = 0.5f;
FarPoint.Web.Chart.ChartModel model = new FarPoint.Web.Chart.ChartModel();
model.LabelAreas.Add(label);
model.LegendAreas.Add(legend);
model.PlotAreas.Add(plotArea);
FarPoint.Web.Spread.Chart.SpreadChart chart = new FarPoint.Web.Spread.Chart.SpreadChart();
chart.Model = model;
FpSpread1.Sheets[0].Charts.Add(chart);
Dim series As New FarPoint.Web.Chart.BarSeries()
series.SeriesName = "Series 0"
series.Values.Add(2.0)
series.Values.Add(4.0)
series.Values.Add(3.0)
series.Values.Add(5.0)
Dim plotArea As New FarPoint.Web.Chart.YPlotArea()
plotArea.Location = New System.Drawing.PointF(0.2F, 0.2F)
plotArea.Size = New System.Drawing.SizeF(0.6F, 0.6F)
plotArea.Series.Add(series)
Dim label As New FarPoint.Web.Chart.LabelArea()
label.Text = "Bar Chart"
label.Location = New System.Drawing.PointF(0.5F, 0.02F)
label.AlignmentX = 0.5F
label.AlignmentY = 0.0F
Dim legend As New FarPoint.Web.Chart.LegendArea()
legend.Location = New System.Drawing.PointF(0.98F, 0.5F)
legend.AlignmentX = 1.0F
legend.AlignmentY = 0.5F
Dim model As New FarPoint.Web.Chart.ChartModel()
model.LabelAreas.Add(label)
model.LegendAreas.Add(legend)
model.PlotAreas.Add(plotArea)
Dim chart As New FarPoint.Web.Spread.Chart.SpreadChart()
chart.Model = model
FpSpread1.Sheets(0).Charts.Add(chart)        
関連トピック

 

 


© MESCIUS inc. All rights reserved.