MESCIUS SPREAD for ASP.NET 10.0J > 開発者の手引き > チャート > チャートの作成 > SPREAD上でのチャートの使用 |
SPREADのシート上にチャートを作成するには、次のいずれかの方法を使用します。
チャートデザイナでの追加方法については「チャートの追加」および「チャートの設定」を参照してください。ここでは、コードでの設定方法について解説します。
また、チャートに表示するプロットエリアの作成方法については「プロットの作成」で説明しています。
SPREADのシート上に配置したチャートはSpreadChartクラスのインスタンスです。DataSettingプロパティで、空白セルデータをチャートでどのように表示するかなどチャートのデータに関する設定を取得、および変更できます。 |
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 オブジェクトを生成し、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)