作成日: 2020/08/11 最終更新日: 2020/08/11
文書種別
使用方法
詳細
本コンポーネントには、シリーズごとにデータラベルのスタイル(文字色など)を変更する組み込みの機能は用意されていません。
代替方法として、SeriesクラスのSymbolRenderingイベントで、独自に文字列を描画する方法が考えられます。

◎サンプルコード(VB)
代替方法として、SeriesクラスのSymbolRenderingイベントで、独自に文字列を描画する方法が考えられます。
◎サンプルコード(VB)
Imports C1.Chart
Imports C1.Win.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' シリーズ1の作成
Dim series1 As New Series()
series1.Name = "S1"
series1.DataSource = {New PointF(1, 1), New PointF(2, 2), New PointF(3, 3), New PointF(4, 4)}
series1.Binding = "Y"
series1.BindingX = "X"
' 独自のデータラベルの描画
AddHandler series1.SymbolRendering, AddressOf series1_SymbolRendering
' シリーズ2の作成
Dim series2 As New Series()
series2.Name = "S2"
series2.DataSource = {New PointF(1, 4), New PointF(2, 3), New PointF(3, 2), New PointF(4, 1)}
series2.Binding = "Y"
series2.BindingX = "X"
' 独自のデータラベルの描画
AddHandler series2.SymbolRendering, AddressOf series2_SymbolRendering
' チャートにシリーズを追加
FlexChart1.Series.Clear()
FlexChart1.Series.Add(series1)
FlexChart1.Series.Add(series2)
FlexChart1.AxisY.Min = 0
FlexChart1.AxisY.Max = 5
End Sub
Private Sub series1_SymbolRendering(sender As Object, e As RenderSymbolEventArgs)
Dim pos As PointF = e.Point
pos = pos - New Size(15, 15)
e.Graphics.DrawString($"{e.Series.Name}={DirectCast(e.Item, PointF).Y}", Me.Font, Brushes.Blue, pos)
End Sub
Private Sub series2_SymbolRendering(sender As Object, e As RenderSymbolEventArgs)
Dim pos As PointF = e.Point
pos = pos - New Size(15, 15)
e.Graphics.DrawString($"{e.Series.Name}={DirectCast(e.Item, PointF).Y}", Me.Font, Brushes.Red, pos)
End Sub
End Class
◎サンプルコード(C#)using C1.Chart;
using C1.Win.Chart;
namespace prj_C1FlexChart_Series
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// シリーズ1の作成
Series series1 = new Series();
series1.Name = "S1";
series1.DataSource = new PointF[] { new PointF(1, 1), new PointF(2, 2), new PointF(3, 3), new PointF(4, 4) };
series1.Binding = "Y";
series1.BindingX = "X";
// 独自のデータラベルの描画
series1.SymbolRendering += series1_SymbolRendering;
// シリーズ2の作成
Series series2 = new Series();
series2.Name = "S2";
series2.DataSource = new PointF[] { new PointF(1, 4), new PointF(2, 3), new PointF(3, 2), new PointF(4, 1) };
series2.Binding = "Y";
series2.BindingX = "X";
// 独自のデータラベルの描画
series2.SymbolRendering += series2_SymbolRendering;
// チャートにシリーズを追加
flexChart1.Series.Clear();
flexChart1.Series.Add(series1);
flexChart1.Series.Add(series2);
flexChart1.AxisY.Min = 0;
flexChart1.AxisY.Max = 5;
}
private void series1_SymbolRendering(object sender, RenderSymbolEventArgs e)
{
PointF pos = e.Point;
pos = (pos - new Size(15, 15));
e.Graphics.DrawString($"{e.Series.Name}={((PointF)e.Item).Y}", this.Font, Brushes.Blue, pos);
}
private void series2_SymbolRendering(object sender, RenderSymbolEventArgs e)
{
PointF pos = e.Point;
pos = (pos - new Size(15, 15));
e.Graphics.DrawString($"{e.Series.Name}={((PointF)e.Item).Y}", this.Font, Brushes.Red, pos);
}
}
}
旧文書番号
85885