このセクションではC1Chart コントロールで横棒とXYPlotグラフをプログラムで追加する段階的な方法が説明されています。グラフでは、横棒グラフのY軸が平均降雨量のダブル値を示しており、X軸が三月から八月までの各ストリング値を示しています。 XYPlotグラフではy2軸が3月から8月までの各月の平均最高気温のダブル値を示してあり、X軸が3月から8月までの各ストリング値を示しています。
グラフを作成し始める前に以下のグラフが表示されます。

プログラムで複数のグラフを作成するには、以下の手順に従います:
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Imports C1.Win.C1Chart |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
using C1.Win.C1Chart; |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Sub Form1_Load(sender As Object, e As EventArgs)
Dim cgroup As ChartGroup = c1Chart1.ChartGroups.Group0
cgroup.ChartType = Chart2DTypeEnum.Bar
'シリーズコレクションでデータを挿入します。
Dim cdsc As ChartDataSeriesCollection = cgroup.ChartData.SeriesList
cdsc.Clear()
'デフォールトデータを削除します。
'コレクションでシリーズオブジェクトを作成し、データを追加します。
Dim cds As ChartDataSeries = cdsc.AddNewSeries()
'ChartGroup0、横棒グラフのデータを追加します。
Dim MonthNames As String() = {"March", "April", "May", "June", "July", "August"}
Dim AvgPrecip As Double() = {3.17, 3.01, 3.8, 4.12, 3.96, 3.38}
'横棒グラフデータシリーズのラベルを作成します。
cds.Label = "Avg. Precip"
'データシリーズにXとY値データをコピーするには、ChartDataArrayオブジェクトのCopyDataInメソッドを使用します。
cds.X.CopyDataIn(MonthNames)
cds.Y.CopyDataIn(AvgPrecip)
'グラフ領域用の変数を作成します。
Dim carea As C1.Win.C1Chart.Area = c1Chart1.ChartArea
'ChartGroup0(横棒)のタイトルを設定します。
carea.AxisX.Text = "Month"
carea.AxisY.Text = "Avg. Precip (in)"
'Group1のXYグラフ用のデータを作成し追加します。
Dim cgroup2 As ChartGroup = c1Chart1.ChartGroups.Group1
cgroup2.ChartType = Chart2DTypeEnum.XYPlot
'シリーズコレクションでgroup1の棒グラフデータを入力します。
Dim cdsc2 As ChartDataSeriesCollection = cgroup2.ChartData.SeriesList
'2番目のコレクションでシリーズオブジェクトを作成し、データを追加します。
Dim cds2 As ChartDataSeries = cdsc2.AddNewSeries()
cds2.X.CopyDataIn(MonthNames)
cds2.Y.CopyDataIn(New Double() {49.5, 60.7, 70.8, 79.1, 82.7, 81.1})
cds2.Label = "Avg. High Temp"
'軸をカスタマイズします。
'X、Y、Y2軸用に新規フォントを作成します。
Dim f As New Font("Arial", 10)
carea.AxisX.Font = f
carea.AxisY.Font = f
carea.AxisX.ForeColor = Color.SteelBlue
carea.AxisY.ForeColor = Color.SteelBlue
carea.AxisY2.ForeColor = Color.SteelBlue
carea.AxisY2.Font = f
'ChartGroup1(XYPlot)の軸タイトルを設定します。
carea.AxisY2.Text = "Avg. High Temp (F)"
'軸の範囲を設定します。
carea.AxisY.Min = 2.75
carea.AxisY2.Min = 30
carea.AxisY2.Max = 90
carea.AxisY.UnitMinor = 0.25
'X軸のラベルを回転します。
carea.AxisX.AnnotationRotation = 60
'凡例を追加します。
c1Chart1.Legend.Visible = True
'ヘッダを追加します。
c1Chart1.Header.Visible = True
c1Chart1.Header.Text = "Pittsburgh Spring and Summer Season"
'視覚エフェクトを追加します。
Dim s As Style = carea.Style
s.ForeColor = Color.White
s.BackColor = Color.LightBlue
s.BackColor2 = Color.Azure
s.GradientStyle = GradientStyleEnum.Radial
c1Chart1.ColorGeneration = ColorGeneration.Flow
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
private void Form1_Load(object sender, EventArgs e)
{
ChartGroup cgroup = c1Chart1.ChartGroups.Group0;
cgroup.ChartType = Chart2DTypeEnum.Bar;
//シリーズコレクションでデータを挿入します。
ChartDataSeriesCollection cdsc = cgroup.ChartData.SeriesList;
cdsc.Clear();
//デフォールトデータを削除します。
//コレクションでシリーズオブジェクトを作成し、データを追加します。
ChartDataSeries cds = cdsc.AddNewSeries();
//ChartGroup0、横棒グラフのデータを追加します。
string[] MonthNames = { "March", "April", "May", "June", "July", "August" };
double[] AvgPrecip = { 3.17, 3.01, 3.80, 4.12, 3.96, 3.38};
//横棒グラフデータシリーズのラベルを作成します。
cds.Label = "Avg. Precip";
//データシリーズにXとY値データをコピーするには、ChartDataArrayオブジェクトのCopyDataInメソッドを使用します。
cds.X.CopyDataIn(MonthNames);
cds.Y.CopyDataIn(AvgPrecip);
//グラフ領域用の変数を作成します。
C1.Win.C1Chart.Area carea = c1Chart1.ChartArea;
//ChartGroup0(横棒)のタイトルを設定します。
carea.AxisX.Text = "Month";
carea.AxisY.Text = "Avg. Precip (in)";
//Group1のXYグラフ用のデータを作成し追加します。
ChartGroup cgroup2 = c1Chart1.ChartGroups.Group1;
cgroup2.ChartType = Chart2DTypeEnum.XYPlot;
//シリーズコレクションでgroup1の棒グラフデータを入力します。
ChartDataSeriesCollection cdsc2 = cgroup2.ChartData.SeriesList;
//2番目のコレクションでシリーズオブジェクトを作成し、データを追加します。
ChartDataSeries cds2 = cdsc2.AddNewSeries();
cds2.X.CopyDataIn(MonthNames);
cds2.Y.CopyDataIn(new double[] { 49.5, 60.7, 70.8, 79.1, 82.7, 81.1});
cds2.Label = "Avg. High Temp";
//軸をカスタマイズします。
//X、Y、Y2軸用に新規フォントを作成します。
Font f = new Font("Arial", 10);
carea.AxisX.Font = f;
carea.AxisY.Font = f;
carea.AxisX.ForeColor = Color.SteelBlue;
carea.AxisY.ForeColor = Color.SteelBlue;
carea.AxisY2.ForeColor = Color.SteelBlue;
carea.AxisY2.Font = f;
//ChartGroup1(XYPlot)の軸タイトルを設定します。
carea.AxisY2.Text = "Avg. High Temp (F)";
//軸の範囲を設定します。
carea.AxisY.Min = 2.75;
carea.AxisY2.Min = 30;
carea.AxisY2.Max = 90;
carea.AxisY.UnitMinor = .25;
//X軸のラベルを回転します。
carea.AxisX.AnnotationRotation = 60;
//凡例を追加します。
c1Chart1.Legend.Visible = true;
//ヘッダを追加します。
c1Chart1.Header.Visible = true;
c1Chart1.Header.Text = "Pittsburgh Spring and Summer Season";
//視覚エフェクトを追加します。
Style s = carea.Style;
s.ForeColor = Color.White;
s.BackColor = Color.LightBlue;
s.BackColor2 = Color.Azure;
s.GradientStyle = GradientStyleEnum.Radial;
c1Chart1.ColorGeneration = ColorGeneration.Flow;
}
|
|