作成日: 2022/06/09 最終更新日: 2022/06/09
文書種別
使用方法
詳細
Annotation.Rectangleを用いて長方形の図形注釈を描画する場合、Contentプロパティでこの注釈のテキストを設定できますが、テキストの配置(上、下、右、中央、左)を指定する機能は備わっていません。
代替策として、Annotation.Textを用いたテキスト注釈を併用する方法が考えられます。
最初に、Annotation.RectangleでContentプロパティを指定せず、空白のままにします。次いで、Annotation.Textを用いて代わりとなるテキスト注釈を作成し、長方形内での配置を考慮した位置にこれを描画します。
以下に、テキストを長方形内の左上に配置するサンプルコードを記載します。

◎サンプルコード(VB)
代替策として、Annotation.Textを用いたテキスト注釈を併用する方法が考えられます。
最初に、Annotation.RectangleでContentプロパティを指定せず、空白のままにします。次いで、Annotation.Textを用いて代わりとなるテキスト注釈を作成し、長方形内での配置を考慮した位置にこれを描画します。
以下に、テキストを長方形内の左上に配置するサンプルコードを記載します。

◎サンプルコード(VB)
Imports C1.Chart
Imports C1.Win.Chart
Imports C1.Win.Chart.Annotation
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim series1 As Series = New Series
series1.ChartType = ChartType.Line
series1.BindingX = "X"
series1.Binding = "Y"
series1.DataSource = New System.Drawing.PointF() {
New PointF(1, 1),
New PointF(2, 3),
New PointF(3, 2),
New PointF(4, 5),
New PointF(5, 4)
}
series1.Name = "series1"
FlexChart1.Series.Clear()
FlexChart1.Series.Add(series1)
'長方形の図形注釈の作成
Dim al1 As Annotation.AnnotationLayer = New AnnotationLayer(FlexChart1)
Dim rect1 As Annotation.Rectangle = New Annotation.Rectangle() With {
.Attachment = Annotation.AnnotationAttachment.DataCoordinate,
.Location = New PointF(2.0F, 3.3F),
.Height = 50,
.Width = 100
}
al1.Annotations.Add(rect1)
' テキスト注釈の作成
Dim text1 As Annotation.Text = New Annotation.Text() With {
.Attachment = Annotation.AnnotationAttachment.DataCoordinate,
.Location = New PointF(rect1.Location.X - 0.9F, rect1.Location.Y + 0.6F), ' 長方形内での位置の調整
.Content = "テスト"
}
text1.Style.Font = New Font(FlexChart1.Font.Name, FlexChart1.Font.Size, FontStyle.Bold) '太字
al1.Annotations.Add(text1)
End Sub
End Class
◎サンプルコード(C#)
using C1.Win.Chart;
using C1.Chart.Annotation;
using C1.Win.Chart.Annotation;
namespace prj_C1FlexChart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 折れ線グラフの作成
var series = new Series()
{
Name = "series1",
ChartType = ChartType.Line,
Binding = "Y",
BindingX = "X",
DataSource = new PointF[] {
new PointF(1, 1),
new PointF(2, 3),
new PointF(3, 2),
new PointF(4, 5),
new PointF(5, 4)
}
};
flexChart1.Series.Clear();
flexChart1.Series.Add(series);
// 長方形の図形注釈の作成
var al = new AnnotationLayer(flexChart1);
var rect = new C1.Win.Chart.Annotation.Rectangle()
{
Attachment = AnnotationAttachment.DataCoordinate,
Location = new PointF(2f, 3.3f),
Height = 50,
Width = 100
};
al.Annotations.Add(rect);
// テキスト注釈の作成
var text = new C1.Win.Chart.Annotation.Text()
{
Attachment = AnnotationAttachment.DataCoordinate,
Location = new PointF(rect.Location.X - 0.9f, rect.Location.Y + 0.6f), // 長方形内での位置の調整
Content = "テスト"
};
text.Style.Font = new Font(flexChart1.Font.Name, flexChart1.Font.Size, FontStyle.Bold); //太字
al.Annotations.Add(text);
}
}
}