作成日: 2021/12/06 最終更新日: 2021/12/06
文書種別
使用方法
詳細
独自のクラスをデータ型として利用して、チャートを作成することができます。
この場合、独自クラス内に、X値、Y値となるパブリックプロパティを定義する必要があります。
※FlexChartでは内部的に、DataItemのパブリックプロパティを使用してX値、Y値を取得するためです。
以下のサンプルでは、TrendDataクラスにDate/Revenueパブリックプロパティを設定しています。
※ここではDate1プロパティをDateTime型として定義し、X値に日時を設定できるようにしています。

(メモ)
TrendDataクラスのDate/Revenueを以下のように単なるフィールドとして設定すると、チャートが表示されませんので、ご留意ください。
◎サンプルコード(VB)
この場合、独自クラス内に、X値、Y値となるパブリックプロパティを定義する必要があります。
※FlexChartでは内部的に、DataItemのパブリックプロパティを使用してX値、Y値を取得するためです。
以下のサンプルでは、TrendDataクラスにDate/Revenueパブリックプロパティを設定しています。
※ここではDate1プロパティをDateTime型として定義し、X値に日時を設定できるようにしています。
(メモ)
TrendDataクラスのDate/Revenueを以下のように単なるフィールドとして設定すると、チャートが表示されませんので、ご留意ください。
public DateTime Date;
public int Revenue;
◎サンプルコード(VB)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FlexChart1.DataSource = GetProductRevenue
FlexChart1.Binding = "Revenue"
FlexChart1.BindingX = "Date1"
'FlexChart1.BindingX = "Date"
FlexChart1.AxisX.Format = "yyyy/MM/dd" ' X軸の書式を指定
End Sub
Public Function GetProductRevenue() As List(Of TrendData)
Dim _list As List(Of TrendData) = New List(Of TrendData)
_list.Add(New TrendData With {.Date1 = New DateTime(2018, 4, 7), .Revenue = 100})
_list.Add(New TrendData With {.Date1 = New DateTime(2018, 5, 7), .Revenue = 200})
_list.Add(New TrendData With {.Date1 = New DateTime(2018, 6, 7), .Revenue = 300})
_list.Add(New TrendData With {.Date1 = New DateTime(2018, 7, 7), .Revenue = 400})
_list.Add(New TrendData With {.Date1 = New DateTime(2018, 8, 7), .Revenue = 500})
Return _list
End Function
Public Class TrendData
Public Property Date1 As DateTime
Public Property Revenue As Integer
Public Sub New()
MyBase.New
End Sub
Public Sub New(ByVal t As DateTime, ByVal y As Integer)
Me.Date1 = t
Me.Revenue = y
End Sub
End Class
End Class
◎サンプルコード(C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
flexChart1.DataSource = GetProductRevenue();
flexChart1.Binding = "Revenue";
flexChart1.BindingX = "Date";
flexChart1.AxisX.Format = "yyyy/MM/dd"; // X軸の書式を指定
}
public List GetProductRevenue()
{
List _list = new List();
_list.Add(new TrendData() { Date = new DateTime(2018, 04, 07), Revenue = 100 });
_list.Add(new TrendData() { Date = new DateTime(2018, 05, 07), Revenue = 200 });
_list.Add(new TrendData() { Date = new DateTime(2018, 06, 07), Revenue = 300 });
_list.Add(new TrendData() { Date = new DateTime(2018, 07, 07), Revenue = 400 });
_list.Add(new TrendData() { Date = new DateTime(2018, 08, 07), Revenue = 500 });
return _list;
}
public class TrendData
{
public DateTime Date { get; set; }
public int Revenue { get; set; }
public TrendData()
{
}
public TrendData(DateTime t, int y)
{
Date = t;
Revenue = y;
}
}
}
}
関連情報