作成日: 2022/04/18 最終更新日: 2022/04/18
文書種別
使用方法
詳細
FlexChartでは、系列の数に応じて、チャートの左側または右側に、任意の数のY軸(3個以上も可)を設定できます。 同じ側(例えば、チャートの右側)に複数のY軸を設定することも可能です。
以下に、4つの系列を使用し、チャートの左・右にそれぞれ2本のY軸を設定するサンプルコードを記載します。

◎サンプルコード(VB)
以下に、4つの系列を使用し、チャートの左・右にそれぞれ2本のY軸を設定するサンプルコードを記載します。

◎サンプルコード(VB)
Imports C1.Chart
Imports C1.Win.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange({
New DataColumn("X", GetType(String)),
New DataColumn("Y1", GetType(Integer)),
New DataColumn("Y2", GetType(Integer)),
New DataColumn("Y3", GetType(Integer)),
New DataColumn("Y4", GetType(Integer))
})
dt.Rows.Add("A", 1, 40, 300, 2000)
dt.Rows.Add("B", 2, 10, 400, 3000)
dt.Rows.Add("C", 3, 20, 100, 4500)
dt.Rows.Add("D", 4, 30, 200, 3500)
dt.Rows.Add("E", 5, 10, 500, 4000)
dt.AcceptChanges()
' シリーズの作成
Dim series1 = New Series() With {
.Name = "series1",
.Binding = "Y1",
.StackingGroup = 0
}
series1.AxisY = New Axis() With {
.Position = Position.Left,
.AxisLine = True,
.Min = 0,
.Max = 5,
.Title = "シリーズ1"
}
Dim series2 = New Series() With {
.Name = "series2",
.Binding = "Y2",
.ChartType = ChartType.LineSymbols,
.StackingGroup = 0
}
series2.AxisY = New Axis() With {
.Position = Position.Left,
.AxisLine = True,
.Min = 0,
.Max = 50,
.Title = "シリーズ2"
}
Dim series3 = New Series() With {
.Name = "series3",
.Binding = "Y3",
.ChartType = ChartType.Spline,
.StackingGroup = 0
}
series3.AxisY = New Axis() With {
.Position = Position.Right,
.AxisLine = True,
.Min = 0,
.Max = 500,
.Title = "シリーズ3"
}
Dim series4 = New Series() With {
.Name = "series4",
.Binding = "Y4",
.ChartType = ChartType.Scatter,
.StackingGroup = 0
}
series4.AxisY = New Axis() With {
.Position = Position.Right,
.AxisLine = True,
.Min = 0,
.Max = 5000,
.Title = "シリーズ4"
}
' 棒グラフの作成
FlexChart1.BindingX = "X"
FlexChart1.ChartType = ChartType.Column
FlexChart1.DataSource = dt
FlexChart1.Stacking = Stacking.Stacked
FlexChart1.Series.Clear()
FlexChart1.Series.Add(series1)
FlexChart1.Series.Add(series2)
FlexChart1.Series.Add(series3)
FlexChart1.Series.Add(series4)
FlexChart1.Legend.Position = Position.Top
End Sub
End Class
◎サンプルコード(C#)
using C1.Chart;
using C1.Win.Chart;
namespace _20220214d
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
var dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("X",typeof(String)),
new DataColumn("Y1",typeof(Int32)),
new DataColumn("Y2",typeof(Int32)),
new DataColumn("Y3",typeof(Int32)),
new DataColumn("Y4",typeof(Int32))
});
dt.Rows.Add("A", 1, 40, 300, 2000);
dt.Rows.Add("B", 2, 10, 400, 3000);
dt.Rows.Add("C", 3, 20, 100, 4500);
dt.Rows.Add("D", 4, 30, 200, 3500);
dt.Rows.Add("E", 5, 10, 500, 4000);
dt.AcceptChanges();
// シリーズの作成
var series1 = new Series()
{
Name = "series1",
Binding = "Y1",
StackingGroup = 0,
AxisY = new Axis()
{
Position = Position.Left,
AxisLine = true,
Min = 0,
Max = 5,
Title = "シリーズ1"
}
};
var series2 = new Series()
{
Name = "series2",
Binding = "Y2",
ChartType = ChartType.LineSymbols,
StackingGroup = 1,
AxisY = new Axis()
{
Position = Position.Left,
AxisLine = true,
Min = 0,
Max = 50,
Title = "シリーズ2"
}
};
var series3 = new Series()
{
Name = "series3",
Binding = "Y3",
ChartType = ChartType.Spline,
StackingGroup = 2,
AxisY = new Axis()
{
Position = Position.Right,
Min = 0,
Max = 500,
Title = "シリーズ3"
}
};
var series4 = new Series()
{
Name = "series4",
Binding = "Y4",
ChartType = ChartType.Scatter,
StackingGroup = 3,
AxisY = new Axis()
{
Position = Position.Right,
Min = 0,
Max = 5000,
Title = "シリーズ4"
}
};
// 棒グラフの作成
flexChart1.BindingX = "X";
flexChart1.ChartType = ChartType.Column;
flexChart1.DataSource = dt;
flexChart1.Stacking = Stacking.Stacked;
flexChart1.Series.Clear();
flexChart1.Series.Add(series1);
flexChart1.Series.Add(series2);
flexChart1.Series.Add(series3);
flexChart1.Series.Add(series4);
flexChart1.Legend.Position = Position.Top;
}
}
}