作成日: 2022/05/31 最終更新日: 2022/05/31
文書種別
使用方法
詳細
Y軸の軸ラベル間の単位数(MajorUnit)を指定すると、通常、0を起点として上下に指定単位ごとに軸ラベルが描画されます。
この動作を、Y軸の最小値(AxisY.Min)を起点とし、指定単位ごとにY軸ラベルが描画されるように変更するには、Y軸に独自のラベルを設定する方法が考えられます。
下記コードに示すように、Y軸ラベル用の配列を用意し、AxisYのDataSourceに設定してください。
以下は、Y軸の最小値を-30に設定し、指定単位の20ごとに軸ラベルを描画するサンプルです。

◎サンプルコード(VB)
この動作を、Y軸の最小値(AxisY.Min)を起点とし、指定単位ごとにY軸ラベルが描画されるように変更するには、Y軸に独自のラベルを設定する方法が考えられます。
下記コードに示すように、Y軸ラベル用の配列を用意し、AxisYのDataSourceに設定してください。
以下は、Y軸の最小値を-30に設定し、指定単位の20ごとに軸ラベルを描画するサンプルです。

◎サンプルコード(VB)
Imports C1.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' シリーズの作成
FlexChart1.Series.Clear()
Dim series1 As C1.Win.Chart.Series = New C1.Win.Chart.Series
series1.BindingX = "X"
series1.Binding = "Y"
series1.DataSource = New System.Drawing.Point() {
New System.Drawing.Point(1, -30),
New System.Drawing.Point(2, -15),
New System.Drawing.Point(3, 20),
New System.Drawing.Point(4, 60),
New System.Drawing.Point(5, 70)}
'series1.Name = "テスト"
FlexChart1.Series.Add(series1)
FlexChart1.ChartType = C1.Chart.ChartType.LineSymbols
FlexChart1.Legend.Position = Position.None
' Y軸用データの作成
Dim values As Integer() = {-30, -10, 10, 30, 50, 70}
Dim yLabels As KeyValuePair(Of Int32, String)() = New KeyValuePair(Of Int32, String)(5) {}
For i As Integer = 0 To 5
yLabels(i) = New KeyValuePair(Of Int32, String)(values(i), values(i).ToString())
Next
' Y軸の設定
FlexChart1.AxisY.MajorUnit = 20
FlexChart1.AxisY.Min = -30
FlexChart1.AxisY.Max = 70
FlexChart1.AxisY.DataSource = yLabels
FlexChart1.AxisY.Binding = "Key,Value"
End Sub
End Class
◎サンプルコード(C#)
using C1.Chart;
namespace FlexChart_YAxisLabel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// シリーズの作成
flexChart1.Series.Clear();
C1.Win.Chart.Series series1 = new C1.Win.Chart.Series();
series1.BindingX = "X";
series1.Binding = "Y";
series1.DataSource = new System.Drawing.Point[] { new System.Drawing.Point(1, -30), new System.Drawing.Point(2, -15), new System.Drawing.Point(3, 20), new System.Drawing.Point(4, 60), new System.Drawing.Point(5, 70) };
// series1.Name = "テスト"
flexChart1.Series.Add(series1);
flexChart1.ChartType = C1.Chart.ChartType.LineSymbols;
flexChart1.Legend.Position = Position.None;
// Y軸用データの作成
int[] values = new[] { -30, -10, 10, 30, 50, 70 };
KeyValuePair<Int32, string>[] yLabels = new KeyValuePair<Int32, string>[6];
for (int i = 0; i <= 5; i++)
yLabels[i] = new KeyValuePair<Int32, string>(values[i], values[i].ToString());
// Y軸の設定
flexChart1.AxisY.MajorUnit = 20;
flexChart1.AxisY.Min = -30;
flexChart1.AxisY.Max = 70;
flexChart1.AxisY.DataSource = yLabels;
flexChart1.AxisY.Binding = "Key,Value";
}
}
}